home *** CD-ROM | disk | FTP | other *** search
/ Programmer Plus 2007 / Programmer-Plus-2007.iso / Programming / SQL and Data Base / Logic Works ERwin 3.5 / data.1 / erwenttx.fiv < prev    next >
Encoding:
Text File  |  1998-01-28  |  2.2 KB  |  58 lines

  1. /* ------------------------------------------------------------------------
  2. --    ERWENTTX.FIV                                                          --
  3. --    Copyright (C) Logic Works, Inc. 1994                                 --
  4. --                                                                       --
  5. --  Stored procedure to insert ERwin entity descriptions                 --
  6. --  into the Oracle CASE 5.1 dictionary                                     --
  7. ------------------------------------------------------------------------- */
  8. CREATE OR REPLACE PROCEDURE ERWENTTX (pName CI_ENTITIES.NAME%TYPE,
  9.                       pApp  CI_APPLICATION_SYSTEMS.NAME%TYPE,
  10.                       pVersion CI_APPLICATION_SYSTEMS.VERSION%TYPE,
  11.                       pSeq  CDI_TEXT.TXT_SEQ%TYPE,
  12.                       pLine CDI_TEXT.TXT_TEXT%TYPE)
  13. AS
  14.         TYPE recEntity IS RECORD
  15.             (APPLICATION_SYSTEM_OWNED_BY   CI_ENTITIES.APPLICATION_SYSTEM_OWNED_BY%TYPE,
  16.              ID CI_ENTITIES.ID%TYPE,
  17.              NAME CI_ENTITIES.NAME%TYPE);
  18.         TYPE recText   IS RECORD
  19.             (REF    CDI_TEXT.TXT_REF%TYPE,
  20.              SEQ    CDI_TEXT.TXT_SEQ%TYPE,
  21.              TXTY    CDI_TEXT.TXT_TYPE%TYPE,
  22.              TXTX    CDI_TEXT.TXT_TEXT%TYPE);
  23.         prText            recText;
  24.         prEntity        recEntity;
  25. BEGIN
  26.         BEGIN
  27.             IF pVersion = 0 THEN 
  28.                 SELECT APPLICATION_SYSTEM_OWNED_BY, ID, NAME INTO prEntity
  29.                     FROM CI_ENTITIES
  30.                     WHERE    CI_ENTITIES.NAME=UPPER(pName) 
  31.                     AND CI_ENTITIES.APPLICATION_SYSTEM_OWNED_BY =
  32.                     (SELECT ID FROM CI_APPLICATION_SYSTEMS WHERE 
  33.                     CI_APPLICATION_SYSTEMS.NAME = UPPER(pApp) AND
  34.                     CI_APPLICATION_SYSTEMS.LATEST_VERSION_FLAG='Y');
  35.             ELSE
  36.                 SELECT APPLICATION_SYSTEM_OWNED_BY, ID, NAME INTO prEntity                    FROM CI_ENTITIES
  37.                     WHERE    CI_ENTITIES.NAME=UPPER(pName) 
  38.                     AND CI_ENTITIES.APPLICATION_SYSTEM_OWNED_BY =
  39.                     (SELECT ID FROM CI_APPLICATION_SYSTEMS WHERE 
  40.                     CI_APPLICATION_SYSTEMS.NAME = UPPER(pApp) AND
  41.                     CI_APPLICATION_SYSTEMS.VERSION=pVersion);
  42.             END IF;
  43.         EXCEPTION
  44.             WHEN OTHERS THEN
  45.                 RETURN;
  46.         END;
  47.         SELECT TXT_REF, TXT_SEQ, TXT_TYPE, TXT_TEXT INTO prText 
  48.             FROM CDI_TEXT WHERE CDI_TEXT.TXT_REF = prEntity.ID AND 
  49.                      CDI_TEXT.TXT_SEQ = pSeq;
  50.         UPDATE CDI_TEXT SET CDI_TEXT.TXT_TEXT = pLine
  51.                 WHERE CDI_TEXT.TXT_REF = prEntity.ID AND 
  52.                      CDI_TEXT.TXT_SEQ = pSeq;
  53. EXCEPTION
  54.             WHEN NO_DATA_FOUND THEN
  55.                 INSERT INTO CDI_TEXT VALUES(prEntity.ID,pSeq,'CDIDSC',pLine);
  56. END ERWENTTX;
  57. /
  58.