Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
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
/