Blame | Last modification | View Log | RSS feed
CREATE PROCEDURE "RELEASE_MANAGER"."NEW_VERSION" ( NNorig_pv_id IN NUMBER,SSpkg_version IN PACKAGE_VERSIONS.pkg_version%TYPE DEFAULT NULL,NNsetto_pv_id IN NUMBER DEFAULT NULL,NNrtag_id IN NUMBER,NNuser_id IN NUMBER,enumISSUES_STATE_IMPORTED IN NUMBER,retPv_id OUT NUMBER ) ISTO BE REMOVED !!!/* ---------------------------------------------------------------------------Version: 3.3--------------------------------------------------------------------------- */ReleaseLocation VARCHAR2(4000);origPkg_id PACKAGE_VERSIONS.pkg_id%TYPE;origDlocked PACKAGE_VERSIONS.dlocked%TYPE;SSV_MM PACKAGE_VERSIONS.V_MM%TYPE;SSV_NMM PACKAGE_VERSIONS.V_NMM%TYPE;SSV_EXT PACKAGE_VERSIONS.V_EXT%TYPE;nIssuesTypes NUMBER;CURSOR package_versions_cur ISSELECT pv.pv_id, pv.is_patchFROM PACKAGE_VERSIONS pvWHERE pv.pkg_version = SSpkg_versionAND pv.pkg_id IN ( SELECT DISTINCT origpv.pkg_id FROM PACKAGE_VERSIONS origpv WHERE origpv.pv_id = NNorig_pv_id );package_versions_rec package_versions_cur%ROWTYPE;CURSOR clone_package_versions_cur ISSELECT DISTINCT pkg_id, dlocked FROM PACKAGE_VERSIONS WHERE pv_id = NNorig_pv_id;clone_package_versions_rec clone_package_versions_cur%ROWTYPE;BEGINIF NNsetto_pv_id IS NULLTHEN-- SetToPv_id is not supplied, hence proceed./* ---------------------------------------------------- *//* Find id package_version exists *//* ---------------------------------------------------- */OPEN package_versions_cur;FETCH package_versions_cur INTO package_versions_rec;IF package_versions_cur%NOTFOUNDTHENSELECT SEQ_PV_ID.NEXTVAL INTO retPv_id FROM DUAL;Split_Version ( SSpkg_version, SSV_MM, SSV_NMM, SSV_EXT );OPEN clone_package_versions_cur;FETCH clone_package_versions_cur INTO clone_package_versions_rec;origPkg_id := clone_package_versions_rec.pkg_id;origDlocked := clone_package_versions_rec.dlocked;CLOSE clone_package_versions_cur;-- Clone Package Version Details --INSERT INTO PACKAGE_VERSIONS ( pv_id, pkg_id, pkg_version, dlocked, created_stamp, creator_id, modified_stamp, modifier_id, V_MM, V_NMM, V_EXT,src_path, pv_description, PV_OVERVIEW, LAST_PV_ID, owner_id, IS_DEPLOYABLE, IS_BUILD_ENV_REQUIRED )SELECT retPv_id AS pv_id,origPkg_id AS pkg_id,SSpkg_version AS pkg_version,'N' AS dlocked,Ora_Sysdate AS created_stamp,NNuser_id AS creator_id,Ora_Sysdatetime AS modified_stamp,NNuser_id AS modifier_id,SSV_MM AS V_MM,SSV_NMM AS V_NMM,SSV_EXT AS V_EXT,pv.src_path,pv.pv_description,pv.PV_OVERVIEW,NNorig_pv_id AS LAST_PV_ID,pv.owner_id,pv.IS_DEPLOYABLE,pv.IS_BUILD_ENV_REQUIREDFROM PACKAGE_VERSIONS pvWHERE pv.pv_id = NNorig_pv_id;-- Set Issues Type for cloning ---IF origDlocked = 'Y'THENnIssuesTypes := enumISSUES_STATE_IMPORTED;ELSEnIssuesTypes := NULL;END IF;Basic_Clone ( NNorig_pv_id, retPv_id, NNrtag_id, NNuser_id, origPkg_id, nIssuesTypes );ELSEretPv_id := package_versions_rec.pv_id;END IF;CLOSE package_versions_cur;ELSEretPv_id := NNsetto_pv_id;END IF;/* ---------------------------------------------------- *//* Insert into Release Contents (EXCLUDE PATCHES) *//* ---------------------------------------------------- */IF (package_versions_rec.is_patch != 'Y') OR (package_versions_rec.is_patch IS NULL) THENUPDATE RELEASE_CONTENTSET pv_id = retPv_id,insert_stamp = Ora_Sysdate,insertor_id = NNuser_idWHERE rtag_id = NNrtag_idAND pv_id = NNorig_pv_id;/* LOG ACTION */SELECT proj.PROJ_NAME ||' / '|| vt.VTREE_NAME ||' / '|| rt.RTAG_NAME INTO ReleaseLocationFROM PROJECTS proj,VTREES vt,RELEASE_TAGS rtWHERE rt.VTREE_ID = vt.VTREE_IDAND vt.PROJ_ID = proj.PROJ_IDAND rt.RTAG_ID = NNrtag_id;Log_Action ( NNorig_pv_id, 'replaced_with', NNuser_id, 'Replacing version: '|| SSpkg_version ||' at '|| ReleaseLocation );Log_Action ( retPv_id, 'add', NNuser_id, 'Location: '|| ReleaseLocation );END IF;END New_Version;/