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.six < prev    next >
Encoding:
Text File  |  1998-01-28  |  2.3 KB  |  60 lines

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