| 221 |
vnguyen |
1 |
CREATE PROCEDURE "RELEASE_MANAGER"."NEW_VERSION" ( NNorig_pv_id IN NUMBER,
|
|
|
2 |
SSpkg_version IN PACKAGE_VERSIONS.pkg_version%TYPE DEFAULT NULL,
|
|
|
3 |
NNsetto_pv_id IN NUMBER DEFAULT NULL,
|
|
|
4 |
NNrtag_id IN NUMBER,
|
|
|
5 |
NNuser_id IN NUMBER,
|
|
|
6 |
enumISSUES_STATE_IMPORTED IN NUMBER,
|
|
|
7 |
retPv_id OUT NUMBER ) IS
|
|
|
8 |
|
|
|
9 |
|
|
|
10 |
TO BE REMOVED !!!
|
|
|
11 |
|
|
|
12 |
|
|
|
13 |
|
|
|
14 |
|
|
|
15 |
/* ---------------------------------------------------------------------------
|
|
|
16 |
Version: 3.3
|
|
|
17 |
--------------------------------------------------------------------------- */
|
|
|
18 |
|
|
|
19 |
ReleaseLocation VARCHAR2(4000);
|
|
|
20 |
origPkg_id PACKAGE_VERSIONS.pkg_id%TYPE;
|
|
|
21 |
origDlocked PACKAGE_VERSIONS.dlocked%TYPE;
|
|
|
22 |
SSV_MM PACKAGE_VERSIONS.V_MM%TYPE;
|
|
|
23 |
SSV_NMM PACKAGE_VERSIONS.V_NMM%TYPE;
|
|
|
24 |
SSV_EXT PACKAGE_VERSIONS.V_EXT%TYPE;
|
|
|
25 |
nIssuesTypes NUMBER;
|
|
|
26 |
|
|
|
27 |
CURSOR package_versions_cur IS
|
|
|
28 |
SELECT pv.pv_id, pv.is_patch
|
|
|
29 |
FROM PACKAGE_VERSIONS pv
|
|
|
30 |
WHERE pv.pkg_version = SSpkg_version
|
|
|
31 |
AND pv.pkg_id IN ( SELECT DISTINCT origpv.pkg_id FROM PACKAGE_VERSIONS origpv WHERE origpv.pv_id = NNorig_pv_id );
|
|
|
32 |
package_versions_rec package_versions_cur%ROWTYPE;
|
|
|
33 |
|
|
|
34 |
CURSOR clone_package_versions_cur IS
|
|
|
35 |
SELECT DISTINCT pkg_id, dlocked FROM PACKAGE_VERSIONS WHERE pv_id = NNorig_pv_id;
|
|
|
36 |
clone_package_versions_rec clone_package_versions_cur%ROWTYPE;
|
|
|
37 |
|
|
|
38 |
BEGIN
|
|
|
39 |
IF NNsetto_pv_id IS NULL
|
|
|
40 |
THEN
|
|
|
41 |
-- SetToPv_id is not supplied, hence proceed.
|
|
|
42 |
|
|
|
43 |
/* ---------------------------------------------------- */
|
|
|
44 |
/* Find id package_version exists */
|
|
|
45 |
/* ---------------------------------------------------- */
|
|
|
46 |
|
|
|
47 |
OPEN package_versions_cur;
|
|
|
48 |
FETCH package_versions_cur INTO package_versions_rec;
|
|
|
49 |
|
|
|
50 |
IF package_versions_cur%NOTFOUND
|
|
|
51 |
THEN
|
|
|
52 |
SELECT SEQ_PV_ID.NEXTVAL INTO retPv_id FROM DUAL;
|
|
|
53 |
Split_Version ( SSpkg_version, SSV_MM, SSV_NMM, SSV_EXT );
|
|
|
54 |
|
|
|
55 |
OPEN clone_package_versions_cur;
|
|
|
56 |
FETCH clone_package_versions_cur INTO clone_package_versions_rec;
|
|
|
57 |
origPkg_id := clone_package_versions_rec.pkg_id;
|
|
|
58 |
origDlocked := clone_package_versions_rec.dlocked;
|
|
|
59 |
CLOSE clone_package_versions_cur;
|
|
|
60 |
|
|
|
61 |
-- Clone Package Version Details --
|
|
|
62 |
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,
|
|
|
63 |
src_path, pv_description, PV_OVERVIEW, LAST_PV_ID, owner_id, IS_DEPLOYABLE, IS_BUILD_ENV_REQUIRED )
|
|
|
64 |
SELECT retPv_id AS pv_id,
|
|
|
65 |
origPkg_id AS pkg_id,
|
|
|
66 |
SSpkg_version AS pkg_version,
|
|
|
67 |
'N' AS dlocked,
|
|
|
68 |
Ora_Sysdate AS created_stamp,
|
|
|
69 |
NNuser_id AS creator_id,
|
|
|
70 |
Ora_Sysdatetime AS modified_stamp,
|
|
|
71 |
NNuser_id AS modifier_id,
|
|
|
72 |
SSV_MM AS V_MM,
|
|
|
73 |
SSV_NMM AS V_NMM,
|
|
|
74 |
SSV_EXT AS V_EXT,
|
|
|
75 |
pv.src_path,
|
|
|
76 |
pv.pv_description,
|
|
|
77 |
pv.PV_OVERVIEW,
|
|
|
78 |
NNorig_pv_id AS LAST_PV_ID,
|
|
|
79 |
pv.owner_id,
|
|
|
80 |
pv.IS_DEPLOYABLE,
|
|
|
81 |
pv.IS_BUILD_ENV_REQUIRED
|
|
|
82 |
FROM PACKAGE_VERSIONS pv
|
|
|
83 |
WHERE pv.pv_id = NNorig_pv_id;
|
|
|
84 |
|
|
|
85 |
|
|
|
86 |
-- Set Issues Type for cloning ---
|
|
|
87 |
IF origDlocked = 'Y'
|
|
|
88 |
THEN
|
|
|
89 |
nIssuesTypes := enumISSUES_STATE_IMPORTED;
|
|
|
90 |
ELSE
|
|
|
91 |
nIssuesTypes := NULL;
|
|
|
92 |
END IF;
|
|
|
93 |
|
|
|
94 |
Basic_Clone ( NNorig_pv_id, retPv_id, NNrtag_id, NNuser_id, origPkg_id, nIssuesTypes );
|
|
|
95 |
|
|
|
96 |
|
|
|
97 |
|
|
|
98 |
ELSE
|
|
|
99 |
retPv_id := package_versions_rec.pv_id;
|
|
|
100 |
|
|
|
101 |
END IF;
|
|
|
102 |
|
|
|
103 |
CLOSE package_versions_cur;
|
|
|
104 |
|
|
|
105 |
ELSE
|
|
|
106 |
retPv_id := NNsetto_pv_id;
|
|
|
107 |
END IF;
|
|
|
108 |
|
|
|
109 |
|
|
|
110 |
/* ---------------------------------------------------- */
|
|
|
111 |
/* Insert into Release Contents (EXCLUDE PATCHES) */
|
|
|
112 |
/* ---------------------------------------------------- */
|
|
|
113 |
IF (package_versions_rec.is_patch != 'Y') OR (package_versions_rec.is_patch IS NULL) THEN
|
|
|
114 |
UPDATE RELEASE_CONTENT
|
|
|
115 |
SET pv_id = retPv_id,
|
|
|
116 |
insert_stamp = Ora_Sysdate,
|
|
|
117 |
insertor_id = NNuser_id
|
|
|
118 |
WHERE rtag_id = NNrtag_id
|
|
|
119 |
AND pv_id = NNorig_pv_id;
|
|
|
120 |
|
|
|
121 |
/* LOG ACTION */
|
|
|
122 |
SELECT proj.PROJ_NAME ||' / '|| vt.VTREE_NAME ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
|
|
|
123 |
FROM PROJECTS proj,
|
|
|
124 |
VTREES vt,
|
|
|
125 |
RELEASE_TAGS rt
|
|
|
126 |
WHERE rt.VTREE_ID = vt.VTREE_ID
|
|
|
127 |
AND vt.PROJ_ID = proj.PROJ_ID
|
|
|
128 |
AND rt.RTAG_ID = NNrtag_id;
|
|
|
129 |
|
|
|
130 |
Log_Action ( NNorig_pv_id, 'replaced_with', NNuser_id, 'Replacing version: '|| SSpkg_version ||' at '|| ReleaseLocation );
|
|
|
131 |
Log_Action ( retPv_id, 'add', NNuser_id, 'Location: '|| ReleaseLocation );
|
|
|
132 |
|
|
|
133 |
END IF;
|
|
|
134 |
|
|
|
135 |
|
|
|
136 |
END New_Version;
|
|
|
137 |
/
|