| 221 |
vnguyen |
1 |
CREATE PROCEDURE "RELEASE_MANAGER"."BASIC_CLONE" ( nFROMpv_id IN NUMBER,
|
|
|
2 |
nTOpv_id IN NUMBER,
|
|
|
3 |
nRtag_id IN NUMBER,
|
|
|
4 |
nUser_id IN NUMBER,
|
|
|
5 |
nTOpkg_id IN NUMBER DEFAULT NULL,
|
|
|
6 |
enumISSUES_STATE_IMPORTED IN NUMBER DEFAULT NULL ) IS
|
|
|
7 |
/* ---------------------------------------------------------------------------
|
|
|
8 |
Version: 3.5
|
|
|
9 |
--------------------------------------------------------------------------- */
|
|
|
10 |
|
|
|
11 |
FromVersion PACKAGE_VERSIONS.PKG_VERSION%TYPE;
|
|
|
12 |
|
|
|
13 |
BEGIN
|
|
|
14 |
|
|
|
15 |
------------------------------------- Clone Dependencies ---------------------------------------------------
|
|
|
16 |
IF NOT nRtag_id IS NULL
|
|
|
17 |
THEN
|
|
|
18 |
-- Auto Update Dependencies --
|
|
|
19 |
INSERT INTO PACKAGE_DEPENDENCIES
|
|
|
20 |
SELECT nTOpv_id AS pv_id,
|
|
|
21 |
DECODE(nUser_id,
|
|
|
22 |
frc.modifier_id,
|
|
|
23 |
frc.pv_id,
|
|
|
24 |
DECODE(frc.dlocked,
|
|
|
25 |
'Y',
|
|
|
26 |
frc.pv_id,
|
|
|
27 |
dep.dpv_id)
|
|
|
28 |
) AS dpv_id,
|
|
|
29 |
nTOpkg_id AS pkg_id,
|
|
|
30 |
dep.dpkg_id,
|
|
|
31 |
dep.build_type,
|
|
|
32 |
dep.display_order
|
|
|
33 |
FROM PACKAGE_DEPENDENCIES dep,
|
|
|
34 |
PACKAGE_VERSIONS pv,
|
|
|
35 |
(
|
|
|
36 |
/* Full Release Contents used for reference*/
|
|
|
37 |
SELECT rpv.pv_id, rpv.pkg_id, NVL(rpv.v_ext, '|LINK_A_NULL|') AS v_ext, rpv.modifier_id, rpv.dlocked
|
|
|
38 |
FROM RELEASE_CONTENT rel, PACKAGE_VERSIONS rpv
|
|
|
39 |
WHERE rel.pv_id = rpv.pv_id AND rtag_id = nRtag_id
|
|
|
40 |
) frc
|
|
|
41 |
WHERE dep.pv_id = nFROMpv_id
|
|
|
42 |
AND dep.dpv_id = pv.pv_id
|
|
|
43 |
AND pv.pkg_id = frc.pkg_id(+)
|
|
|
44 |
AND NVL(pv.v_ext, '|LINK_A_NULL|') = frc.v_ext(+);
|
|
|
45 |
|
|
|
46 |
ELSE
|
|
|
47 |
-- Clone Dependencies --
|
|
|
48 |
INSERT INTO PACKAGE_DEPENDENCIES
|
|
|
49 |
SELECT nTOpv_id AS pv_id,
|
|
|
50 |
dep.dpv_id,
|
|
|
51 |
nTOpkg_id AS pkg_id,
|
|
|
52 |
dep.dpkg_id,
|
|
|
53 |
dep.build_type,
|
|
|
54 |
dep.display_order
|
|
|
55 |
FROM PACKAGE_DEPENDENCIES dep
|
|
|
56 |
WHERE dep.pv_id = nFROMpv_id;
|
|
|
57 |
|
|
|
58 |
END IF;
|
|
|
59 |
|
|
|
60 |
----------------------------------------- Clone Issues -------------------------------------------------------
|
|
|
61 |
IF enumISSUES_STATE_IMPORTED IS NULL
|
|
|
62 |
THEN
|
|
|
63 |
/* All Issues */
|
|
|
64 |
INSERT INTO CQ_ISSUES ( pv_id, iss_db, iss_id, iss_state, mod_date, notes )
|
|
|
65 |
SELECT nTOpv_id AS pv_id, iss_db, iss_id, iss_state, mod_date, notes
|
|
|
66 |
FROM CQ_ISSUES
|
|
|
67 |
WHERE pv_id = nFROMpv_id;
|
|
|
68 |
ELSE
|
|
|
69 |
/* Outstanding Issues Only */
|
|
|
70 |
INSERT INTO CQ_ISSUES ( pv_id, iss_db, iss_id, iss_state, mod_date, notes )
|
|
|
71 |
SELECT nTOpv_id AS pv_id, iss_db, iss_id, iss_state, mod_date, notes
|
|
|
72 |
FROM CQ_ISSUES
|
|
|
73 |
WHERE pv_id = nFROMpv_id
|
|
|
74 |
AND iss_state = enumISSUES_STATE_IMPORTED;
|
|
|
75 |
END IF;
|
|
|
76 |
|
|
|
77 |
|
|
|
78 |
------------------------------------ Clone Runtime Dependencies -----------------------------------------------
|
|
|
79 |
INSERT INTO RUNTIME_DEPENDENCIES (pv_id, rtd_id, rtd_url, rtd_comments, mod_date, mod_user)
|
|
|
80 |
SELECT nTOpv_id AS pv_id, rtd_id, rtd_url, rtd_comments, mod_date, mod_user
|
|
|
81 |
FROM RUNTIME_DEPENDENCIES WHERE pv_id = nFROMpv_id;
|
|
|
82 |
|
|
|
83 |
|
|
|
84 |
--------------------------------------- Clone Additional Notes ------------------------------------------------
|
|
|
85 |
INSERT INTO ADDITIONAL_NOTES ( NOTE_ID, PV_ID, NOTE_TITLE, NOTE_BODY, MOD_DATE, MOD_USER )
|
|
|
86 |
SELECT an.NOTE_ID,
|
|
|
87 |
nTOpv_id AS PV_ID,
|
|
|
88 |
an.NOTE_TITLE,
|
|
|
89 |
an.NOTE_BODY,
|
|
|
90 |
an.MOD_DATE,
|
|
|
91 |
an.MOD_USER
|
|
|
92 |
FROM ADDITIONAL_NOTES an
|
|
|
93 |
WHERE an.PV_ID = nFROMpv_id;
|
|
|
94 |
|
|
|
95 |
|
|
|
96 |
-------------------------------------------- Clone Unit Tests -------------------------------------------------
|
|
|
97 |
-- Clone only Automatic unit tests --
|
|
|
98 |
INSERT INTO UNIT_TESTS (
|
|
|
99 |
TEST_ID,
|
|
|
100 |
PV_ID,
|
|
|
101 |
TEST_TYPES_FK,
|
|
|
102 |
TEST_SUMMARY,
|
|
|
103 |
COMPLETION_DATE,
|
|
|
104 |
COMPLETED_BY,
|
|
|
105 |
RESULTS_URL,
|
|
|
106 |
RESULTS_ATTACHMENT_NAME,
|
|
|
107 |
NUMOF_TEST
|
|
|
108 |
)
|
|
|
109 |
SELECT ut.TEST_ID,
|
|
|
110 |
nTOpv_id AS PV_ID,
|
|
|
111 |
ut.TEST_TYPES_FK,
|
|
|
112 |
ut.TEST_SUMMARY,
|
|
|
113 |
Ora_Sysdate AS COMPLETION_DATE,
|
|
|
114 |
nUser_id AS COMPLETED_BY,
|
|
|
115 |
ut.RESULTS_URL,
|
|
|
116 |
ut.RESULTS_ATTACHMENT_NAME,
|
|
|
117 |
ut.NUMOF_TEST
|
|
|
118 |
FROM UNIT_TESTS ut
|
|
|
119 |
WHERE ut.PV_ID = nFROMpv_id
|
|
|
120 |
AND ut.TEST_TYPES_FK IN ( 5, 7 );
|
|
|
121 |
|
|
|
122 |
-- Clone only Interactive Unit Tests --
|
|
|
123 |
INSERT INTO UNIT_TESTS (
|
|
|
124 |
TEST_ID,
|
|
|
125 |
PV_ID,
|
|
|
126 |
TEST_TYPES_FK,
|
|
|
127 |
TEST_SUMMARY
|
|
|
128 |
)
|
|
|
129 |
SELECT ut.TEST_ID,
|
|
|
130 |
nTOpv_id AS PV_ID,
|
|
|
131 |
ut.TEST_TYPES_FK,
|
|
|
132 |
ut.TEST_SUMMARY
|
|
|
133 |
FROM UNIT_TESTS ut
|
|
|
134 |
WHERE ut.PV_ID = nFROMpv_id
|
|
|
135 |
AND ut.TEST_TYPES_FK IN (6);
|
|
|
136 |
|
|
|
137 |
|
|
|
138 |
-------------------------------------------- Clone Package Documents ------------------------------------------
|
|
|
139 |
INSERT INTO PACKAGE_DOCUMENTS ( PV_ID, TEST_ID, DOC_NUM, DOC_ID, IS_LATEST )
|
|
|
140 |
SELECT nTOpv_id AS PV_ID,
|
|
|
141 |
pd.test_id,
|
|
|
142 |
pd.doc_num,
|
|
|
143 |
pd.doc_id,
|
|
|
144 |
pd.IS_LATEST
|
|
|
145 |
FROM PACKAGE_DOCUMENTS pd
|
|
|
146 |
WHERE pd.PV_ID = nFROMpv_id;
|
|
|
147 |
|
|
|
148 |
-------------------------------------------- Clone Build Environments -----------------------------------------
|
|
|
149 |
INSERT INTO PACKAGE_BUILD_ENV ( PV_ID, BE_ID, BUILD_TYPE )
|
|
|
150 |
SELECT nTOpv_id AS PV_ID,
|
|
|
151 |
pkgbe.BE_ID,
|
|
|
152 |
pkgbe.BUILD_TYPE
|
|
|
153 |
FROM PACKAGE_BUILD_ENV pkgbe
|
|
|
154 |
WHERE pkgbe.PV_ID = nFROMpv_id;
|
|
|
155 |
---------------------------------------------Clone Package Build Info------------------------------------------
|
|
|
156 |
INSERT INTO PACKAGE_BUILD_INFO (PV_ID, BM_ID, BSA_ID)
|
|
|
157 |
SELECT nTOpv_id AS PV_ID,
|
|
|
158 |
pkgbinfo.BM_ID,
|
|
|
159 |
pkgbinfo.BSA_ID
|
|
|
160 |
FROM PACKAGE_BUILD_INFO pkgbinfo
|
|
|
161 |
WHERE pkgbinfo.PV_ID = nFROMpv_id;
|
|
|
162 |
---------------------------------------------Clone Package Version Processes-----------------------------------
|
|
|
163 |
INSERT INTO PACKAGE_PROCESSES ( PV_ID, PROC_ID )
|
|
|
164 |
SELECT nTOpv_id AS PV_ID,
|
|
|
165 |
pp.PROC_ID
|
|
|
166 |
FROM PACKAGE_PROCESSES pp
|
|
|
167 |
WHERE pp.PV_ID = nFROMpv_id;
|
|
|
168 |
---------------------------------------------------------------------------------------------------------------
|
|
|
169 |
|
|
|
170 |
/* LOG ACTION */
|
|
|
171 |
SELECT pv.PKG_VERSION INTO FromVersion
|
|
|
172 |
FROM PACKAGE_VERSIONS pv
|
|
|
173 |
WHERE pv.PV_ID = nFROMpv_id;
|
|
|
174 |
|
|
|
175 |
Log_Action ( nTOpv_id, 'clone_from', nUser_id,
|
|
|
176 |
'Details cloned from: '|| FromVersion );
|
|
|
177 |
|
|
|
178 |
---------------------------------------------------------------------------------------------------------------
|
|
|
179 |
|
|
|
180 |
END Basic_Clone;
|
|
|
181 |
/
|