home *** CD-ROM | disk | FTP | other *** search
- /* ------------------------------------------------------------------------
- -- ERWSTAPP.FIV --
- -- Copyright (C) Logic Works, Inc. 1994 --
- -- --
- -- Stored function to start a Oracle CASE 5.1 CDAPI activity --
- -- --
- -- --
- ------------------------------------------------------------------------ */
- CREATE OR REPLACE FUNCTION ERWSTAPP(pName CI_APPLICATION_SYSTEMS.NAME%TYPE,
- pVersion CI_APPLICATION_SYSTEMS.VERSION%TYPE)
- RETURN CI_APPLICATION_SYSTEMS.ID%TYPE
- AS
- TYPE recApp IS RECORD
- (ID CI_APPLICATION_SYSTEMS.ID%TYPE,
- NAME CI_APPLICATION_SYSTEMS.NAME%TYPE,
- VERSION CI_APPLICATION_SYSTEMS.VERSION%TYPE);
- prApp recApp;
- stApp cioapplication_system.data;
- act_status varchar2(100);
- act_warnings varchar2(100);
- BEGIN
- IF pVersion = 0 THEN
- SELECT ID, NAME, VERSION INTO prApp
- FROM CI_APPLICATION_SYSTEMS
- WHERE CI_APPLICATION_SYSTEMS.NAME = UPPER(pName)
- and CI_APPLICATION_SYSTEMS.LATEST_VERSION_FLAG='Y';
- cdapi.initialize(pName);
- ELSE
- SELECT ID, NAME, VERSION INTO prApp
- FROM CI_APPLICATION_SYSTEMS
- WHERE CI_APPLICATION_SYSTEMS.NAME = UPPER(pName)
- and CI_APPLICATION_SYSTEMS.VERSION = pVersion;
- cdapi.initialize(pName,pVersion);
- END IF;
- RETURN prApp.ID;
- EXCEPTION
- WHEN NO_DATA_FOUND THEN
- cdapi.initialize;
- cdapi.open_activity;
- stApp.v.NAME := pName;
- stApp.i.NAME := true;
- stApp.v.DESCRIPTION_1 := 'New Application created by ERWin';
- stApp.i.DESCRIPTION_1 := true;
- BEGIN
- cioapplication_system.ins(null,stApp);
- cdapi.validate_activity(act_status, act_warnings);
- cdapi.close_activity(act_status);
- if act_status != 'Y' then
- cdapi.abort_activity;
- end if;
- SELECT ID, NAME, VERSION INTO prApp FROM CI_APPLICATION_SYSTEMS
- WHERE CI_APPLICATION_SYSTEMS.NAME = UPPER(pName);
- RETURN prApp.ID;
- EXCEPTION
- WHEN OTHERS THEN
- if cdapi.stacksize > 0 then
- if cdapi.activity is not null then
- cdapi.abort_activity;
- end if;
- else
- if cdapi.activity is not null then
- cdapi.abort_activity;
- end if;
- end if;
- RETURN -1;
- END;
- END ERWSTAPP;
- /
-