Subversion Repositories DevTools

Rev

Rev 53 | Rev 57 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 53 Rev 55
Line 1080... Line 1080...
1080
;
1080
;
1081
 
1081
 
1082
CREATE TABLE DO_NOT_RIPPLE
1082
CREATE TABLE DO_NOT_RIPPLE
1083
(
1083
(
1084
  RTAG_ID NUMBER NOT NULL,
1084
  RTAG_ID NUMBER NOT NULL,
1085
  PV_ID NUMBER NOT NULL
1085
  PV_ID NUMBER NOT NULL,
-
 
1086
  ROOT_PV_ID NUMBER,
-
 
1087
  ROOT_CAUSE VARCHAR2(50 BYTE),
-
 
1088
  ROOT_FILE VARCHAR2(100 BYTE)
1086
)
1089
)
1087
  TABLESPACE "USERS"
1090
  TABLESPACE "USERS"
1088
  LOGGING 
1091
  LOGGING 
1089
  PCTFREE 10
1092
  PCTFREE 10
1090
  PCTUSED 40
1093
  PCTUSED 40
Line 4351... Line 4354...
4351
	RETURN UPPER( sPkgName ||'.'|| nPvId || sVext ||'.WIP' );
4354
	RETURN UPPER( sPkgName ||'.'|| nPvId || sVext ||'.WIP' );
4352
 
4355
 
4353
END GET_AUTOMATED_LABEL;
4356
END GET_AUTOMATED_LABEL;
4354
/
4357
/
4355
 
4358
 
-
 
4359
CREATE OR REPLACE PROCEDURE UnRipple_Package_Indirect (
-
 
4360
        nPvId IN NUMBER,
-
 
4361
        nRtagId IN NUMBER,
-
 
4362
        nUserId IN NUMBER,
-
 
4363
        nrootCausePvId IN NUMBER,
-
 
4364
        srootCause IN VARCHAR2,
-
 
4365
        srootFile IN VARCHAR2
-
 
4366
    ) IS
-
 
4367
    ReleaseLocation VARCHAR2(4000);
-
 
4368
BEGIN
-
 
4369
 
-
 
4370
    -- UnRipple Package
-
 
4371
    delete from do_not_ripple where rtag_id=nRtagId and pv_id=nPvId;
-
 
4372
    INSERT INTO DO_NOT_RIPPLE ( RTAG_ID, PV_ID, ROOT_PV_ID, ROOT_CAUSE, ROOT_FILE ) values (nRtagId, nPvId, nrootCausePvId, srootCause, srootFile);
-
 
4373
 
-
 
4374
    /* LOG ACTION */
-
 
4375
   SELECT proj.PROJ_NAME ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
-
 
4376
              FROM PROJECTS proj,
-
 
4377
                   RELEASE_TAGS rt
-
 
4378
             WHERE rt.RTAG_ID = nRtagId
-
 
4379
               AND rt.PROJ_ID = proj.PROJ_ID;
-
 
4380
 
-
 
4381
    /* LOG ACTION */
-
 
4382
    Log_Action ( nPvId, 'unripple_package', nUserId, 'Location: '|| ReleaseLocation );
-
 
4383
 
-
 
4384
END UnRipple_Package_Indirect;
-
 
4385
/
-
 
4386
 
4356
CREATE OR REPLACE PACKAGE pk_package
4387
CREATE OR REPLACE PACKAGE pk_package
4357
IS
4388
IS
4358
/*
4389
/*
4359
------------------------------
4390
------------------------------
4360
||  Last Modified:  Jeremy Tweddle
4391
||  Last Modified:  Jeremy Tweddle
Line 9160... Line 9191...
9160
      rtagid        IN   NUMBER,
9191
      rtagid        IN   NUMBER,
9161
      username      IN   VARCHAR2
9192
      username      IN   VARCHAR2
9162
   )
9193
   )
9163
      RETURN NUMBER;
9194
      RETURN NUMBER;
9164
 
9195
 
-
 
9196
   FUNCTION exclude_indirect_from_build (
-
 
9197
      pvid          IN   NUMBER,
-
 
9198
      spkgversion   IN   VARCHAR2,
-
 
9199
      rtagid        IN   NUMBER,
-
 
9200
      username      IN   VARCHAR2,
-
 
9201
      rootpvid      IN   NUMBER,
-
 
9202
      rootcause     IN   VARCHAR2,
-
 
9203
      rootfile      IN   VARCHAR2
-
 
9204
   )
-
 
9205
      RETURN NUMBER;
9165
/*================================================================================================*/
9206
/*================================================================================================*/
9166
   PROCEDURE insert_abt_actionlog (rconid IN NUMBER, action IN VARCHAR2);
9207
   PROCEDURE insert_abt_actionlog (rconid IN NUMBER, action IN VARCHAR2);
9167
   
9208
   
9168
   FUNCTION insert_package_metrics (
9209
   FUNCTION insert_package_metrics (
9169
      rtagid IN NUMBER,
9210
      rtagid IN NUMBER,
Line 18783... Line 18824...
18783
CREATE OR REPLACE PACKAGE BODY                   "PK_PLANNED" IS
18824
CREATE OR REPLACE PACKAGE BODY                   "PK_PLANNED" IS
18784
 
18825
 
18785
/*
18826
/*
18786
------------------------------
18827
------------------------------
18787
||  Last Modified:  G.Huddy
18828
||  Last Modified:  G.Huddy
18788
||  Modified Date:  28/May/2008
18829
||  Modified Date:  05/Aug/2008
18789
||  Body Version:   1.1
18830
||  Body Version:   1.2
18790
------------------------------
18831
------------------------------
18791
*/
18832
*/
18792
 
18833
 
18793
 
18834
 
18794
/*-------------------------------------------------------------------------------------------------------*/
18835
/*-------------------------------------------------------------------------------------------------------*/
18795
PROCEDURE ADD_PACKAGE ( newPvId IN NUMBER, ViewId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER ) IS
18836
PROCEDURE ADD_PACKAGE ( newPvId IN NUMBER, ViewId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER ) IS
18796
 
18837
 
18797
	oldPvId NUMBER;
18838
    oldPvId NUMBER;
18798
	ReleaseLocation VARCHAR2(4000);
18839
    ReleaseLocation VARCHAR2(4000);
18799
	IsPatch CHAR(1) := NULL;
18840
    IsPatch CHAR(1) := NULL;
18800
	sLocation VARCHAR2(4000) := NULL;
18841
    sLocation VARCHAR2(4000) := NULL;
18801
	nRtagIdLocation NUMBER;
18842
    nRtagIdLocation NUMBER;
18802
 
18843
 
18803
 
18844
 
18804
 
18845
 
18805
BEGIN
18846
BEGIN
18806
	/*--------------- Business Rules Here -------------------*/
18847
    /*--------------- Business Rules Here -------------------*/
18807
	/*-------------------------------------------------------*/
18848
    /*-------------------------------------------------------*/
18808
 
-
 
18809
	BEGIN
-
 
18810
		-- Check if Exists in "Work in progress" anywhere in the world, except "Closed mode" releases
-
 
18811
		SELECT proj.PROJ_NAME ||' > '|| rt.RTAG_NAME, rt.RTAG_ID  INTO sLocation, nRtagIdLocation
-
 
18812
		  FROM PLANNED pl,
-
 
18813
			   RELEASE_TAGS rt,
-
 
18814
			   PROJECTS proj
-
 
18815
		 WHERE pl.PV_ID = newPvId
-
 
18816
		   AND pl.RTAG_ID = rt.RTAG_ID
-
 
18817
		   AND rt.OFFICIAL != 'Y'
-
 
18818
		   AND rt.PROJ_ID = proj.PROJ_ID;
-
 
18819
 
-
 
18820
		EXCEPTION
-
 
18821
			WHEN NO_DATA_FOUND THEN
-
 
18822
				sLocation := NULL;
-
 
18823
	END;
-
 
18824
 
18849
 
-
 
18850
    BEGIN
-
 
18851
        -- Check if Exists in "Work in progress" anywhere in the world, except "Closed mode" releases
-
 
18852
        SELECT proj.PROJ_NAME ||' > '|| rt.RTAG_NAME, rt.RTAG_ID  INTO sLocation, nRtagIdLocation
-
 
18853
          FROM PLANNED pl,
-
 
18854
               RELEASE_TAGS rt,
-
 
18855
               PROJECTS proj
-
 
18856
         WHERE pl.PV_ID = newPvId
-
 
18857
           AND pl.RTAG_ID = rt.RTAG_ID
-
 
18858
           AND rt.OFFICIAL != 'Y'
-
 
18859
           AND rt.PROJ_ID = proj.PROJ_ID;
-
 
18860
 
-
 
18861
        EXCEPTION
-
 
18862
            WHEN NO_DATA_FOUND THEN
-
 
18863
                sLocation := NULL;
-
 
18864
    END;
18825
 
18865
 
18826
 
18866
 
18827
	IF (sLocation IS NULL) OR (nRtagIdLocation = RtagId) THEN
-
 
18828
 
18867
 
-
 
18868
    IF (sLocation IS NULL) OR (nRtagIdLocation = RtagId) THEN
-
 
18869
 
18829
		-- Add to "Pending" area
18870
        -- Add to "Pending" area
18830
		INSERT INTO PLANNED ( RTAG_ID, PV_ID, VIEW_ID, OPERATION )
18871
        INSERT INTO PLANNED ( RTAG_ID, PV_ID, VIEW_ID, OPERATION )
18831
		VALUES( RtagId, newPvId, ViewId, 'R' );
18872
        VALUES( RtagId, newPvId, ViewId, 'R' );
18832
 
18873
 
18833
 
18874
 
18834
		/* LOG ACTION */
18875
        /* LOG ACTION */
18835
		SELECT proj.PROJ_NAME ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
18876
        SELECT proj.PROJ_NAME ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
18836
		  FROM PROJECTS proj,
18877
          FROM PROJECTS proj,
18837
			   RELEASE_TAGS rt
18878
               RELEASE_TAGS rt
18838
		 WHERE rt.PROJ_ID = proj.PROJ_ID
18879
         WHERE rt.PROJ_ID = proj.PROJ_ID
18839
		   AND rt.RTAG_ID = RtagId;
18880
           AND rt.RTAG_ID = RtagId;
18840
 
18881
 
18841
		Log_Action ( newPvId, 'add_to_planned', UserId, 'Location: '|| ReleaseLocation );
18882
        Log_Action ( newPvId, 'add_to_planned', UserId, 'Location: '|| ReleaseLocation );
18842
 
18883
 
18843
	ELSE
18884
    ELSE
18844
 
18885
 
18845
		RAISE_APPLICATION_ERROR (-20000, 'This version is already in Pending Area at '|| sLocation ||'.' );
18886
        RAISE_APPLICATION_ERROR (-20000, 'This version is already in Pending Area at '|| sLocation ||'.' );
18846
 
18887
 
18847
	END IF;
18888
    END IF;
18848
 
18889
 
18849
END;
18890
END;
18850
/*-------------------------------------------------------------------------------------------------------*/
18891
/*-------------------------------------------------------------------------------------------------------*/
18851
PROCEDURE REMOVE_PACKAGE ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER ) IS
18892
PROCEDURE REMOVE_PACKAGE ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER ) IS
18852
 
18893
 
18853
	ReleaseLocation VARCHAR2(4000);
18894
    ReleaseLocation VARCHAR2(4000);
18854
 
18895
 
18855
BEGIN
18896
BEGIN
18856
 
18897
 
18857
	/*--------------- Business Rules Here -------------------*/
18898
    /*--------------- Business Rules Here -------------------*/
18858
	/*-------------------------------------------------------*/
18899
    /*-------------------------------------------------------*/
18859
 
18900
 
18860
 
18901
 
18861
	-- Get release location for logging pusposes
18902
    -- Get release location for logging pusposes
18862
	SELECT proj.PROJ_NAME  ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
18903
    SELECT proj.PROJ_NAME  ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
18863
	  FROM PROJECTS proj,
18904
      FROM PROJECTS proj,
18864
		   RELEASE_TAGS rt
18905
           RELEASE_TAGS rt
18865
	 WHERE rt.PROJ_ID = proj.PROJ_ID
18906
     WHERE rt.PROJ_ID = proj.PROJ_ID
18866
	   AND rt.RTAG_ID = RtagId;
18907
       AND rt.RTAG_ID = RtagId;
18867
 
18908
 
18868
 
18909
 
18869
	-- Delete from Work In Progress
18910
    -- Delete from Work In Progress
18870
	DELETE
18911
    DELETE
18871
	  FROM PLANNED pl
18912
      FROM PLANNED pl
18872
	 WHERE pl.RTAG_ID = RtagId
18913
     WHERE pl.RTAG_ID = RtagId
18873
	   AND pl.PV_ID = PvId;
18914
       AND pl.PV_ID = PvId;
18874
 
18915
 
18875
	Log_Action ( PvId, 'deleted_from_pending', UserId, 'Location: '|| ReleaseLocation );
18916
    Log_Action ( PvId, 'deleted_from_pending', UserId, 'Location: '|| ReleaseLocation );
18876
 
18917
 
18877
 
18918
 
18878
 
18919
 
18879
 
18920
 
18880
END;
18921
END;
18881
/*-------------------------------------------------------------------------------------------------------*/
18922
/*-------------------------------------------------------------------------------------------------------*/
18882
FUNCTION GET_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER ) RETURN NUMBER IS
18923
FUNCTION GET_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER ) RETURN NUMBER IS
18883
 
18924
 
18884
	ReturnValue NUMBER;
18925
    ReturnValue NUMBER;
18885
 
18926
 
18886
BEGIN
18927
BEGIN
18887
	SELECT pl.VIEW_ID INTO ReturnValue
18928
    SELECT pl.VIEW_ID INTO ReturnValue
18888
	  FROM PLANNED pl
18929
      FROM PLANNED pl
18889
	 WHERE pl.RTAG_ID = RtagId
18930
     WHERE pl.RTAG_ID = RtagId
18890
	   AND pl.PV_ID = PvId;
18931
       AND pl.PV_ID = PvId;
18891
 
18932
 
18892
	RETURN ReturnValue;
18933
    RETURN ReturnValue;
18893
END;
18934
END;
18894
/*-------------------------------------------------------------------------------------------------------*/
18935
/*-------------------------------------------------------------------------------------------------------*/
18895
PROCEDURE GET_VIEW_CONTENT ( RtagId IN NUMBER, ViewId IN NUMBER, RecordSet OUT typeCur ) IS
18936
PROCEDURE GET_VIEW_CONTENT ( RtagId IN NUMBER, ViewId IN NUMBER, RecordSet OUT typeCur ) IS
18896
 
18937
 
18897
	IsBaseView CHAR(1);
18938
    IsBaseView CHAR(1);
18898
 
18939
 
18899
BEGIN
18940
BEGIN
18900
 
18941
 
18901
	-- Check if the view is BASE VIEW
18942
    -- Check if the view is BASE VIEW
18902
	SELECT vi.BASE_VIEW INTO IsBaseView
18943
    SELECT vi.BASE_VIEW INTO IsBaseView
18903
	  FROM VIEWS vi
18944
      FROM VIEWS vi
18904
	 WHERE vi.VIEW_ID = ViewId;
18945
     WHERE vi.VIEW_ID = ViewId;
-
 
18946
 
18905
 
18947
 
-
 
18948
    IF (IsBaseView = 'Y') THEN
-
 
18949
        -- Get Base view content
-
 
18950
        OPEN RecordSet FOR
-
 
18951
        SELECT 0 AS PKG_STATE,
-
 
18952
               NULL AS DEPRECATED_STATE,
-
 
18953
               pv.pv_id,
-
 
18954
               pkg.pkg_name,
-
 
18955
               pv.pkg_version,
-
 
18956
               pv.dlocked,
-
 
18957
               pv.pv_description,
-
 
18958
               pv.BUILD_TYPE,
-
 
18959
               rel.operation
-
 
18960
          FROM PLANNED rel,
-
 
18961
               packages pkg,
-
 
18962
               package_versions pv
-
 
18963
         WHERE pv.pkg_id = pkg.pkg_id
-
 
18964
           AND rel.pv_id = pv.pv_id
-
 
18965
           AND rel.VIEW_ID = ViewId
-
 
18966
           AND rel.RTAG_ID = RtagId
-
 
18967
         ORDER BY UPPER(pkg.PKG_NAME);
18906
 
18968
 
18907
	IF (IsBaseView = 'Y') THEN
-
 
18908
		-- Get Base view content
-
 
18909
		OPEN RecordSet FOR
-
 
18910
		SELECT 0 AS PKG_STATE,
-
 
18911
			   NULL AS DEPRECATED_STATE,
-
 
18912
			   pv.pv_id,
18969
    ELSE
18913
			   pkg.pkg_name,
-
 
18914
			   pv.pkg_version,
-
 
18915
			   pv.dlocked,
-
 
18916
			   pv.pv_description,
-
 
18917
			   pv.BUILD_TYPE,
-
 
18918
			   rel.operation
-
 
18919
		  FROM PLANNED rel,
-
 
18920
			   packages pkg,
-
 
18921
			   package_versions pv
-
 
18922
		 WHERE pv.pkg_id = pkg.pkg_id
-
 
18923
		   AND rel.pv_id = pv.pv_id
-
 
18924
		   AND rel.VIEW_ID = ViewId
-
 
18925
		   AND rel.RTAG_ID = RtagId
-
 
18926
		 ORDER BY UPPER(pkg.PKG_NAME);
-
 
18927
 
18970
 
-
 
18971
        -- Get non base view content
-
 
18972
        OPEN RecordSet FOR
18928
	ELSE
18973
        SELECT 0 AS PKG_STATE,
-
 
18974
               NULL AS DEPRECATED_STATE,
-
 
18975
               pv.pv_id,
-
 
18976
               pkg.pkg_name,
-
 
18977
               pv.pkg_version,
-
 
18978
               pv.dlocked,
-
 
18979
               pv.pv_description,
-
 
18980
               pv.BUILD_TYPE,
-
 
18981
               rel.operation
-
 
18982
          FROM PLANNED rel,
-
 
18983
               packages pkg,
-
 
18984
               package_versions pv,
-
 
18985
               VIEW_DEF vd
-
 
18986
         WHERE pv.pkg_id = pkg.pkg_id
-
 
18987
           AND rel.pv_id = pv.pv_id
-
 
18988
           AND rel.RTAG_ID = RtagId
-
 
18989
           AND vd.VIEW_ID = ViewId
-
 
18990
           AND vd.PKG_ID = pv.PKG_ID
-
 
18991
         ORDER BY UPPER(pkg.PKG_NAME);
18929
 
18992
 
18930
		-- Get non base view content
-
 
18931
		OPEN RecordSet FOR
-
 
18932
		SELECT 0 AS PKG_STATE,
-
 
18933
			   NULL AS DEPRECATED_STATE,
-
 
18934
			   pv.pv_id,
-
 
18935
			   pkg.pkg_name,
-
 
18936
			   pv.pkg_version,
-
 
18937
			   pv.dlocked,
-
 
18938
			   pv.pv_description,
-
 
18939
			   pv.BUILD_TYPE,
-
 
18940
			   rel.operation
-
 
18941
		  FROM PLANNED rel,
-
 
18942
			   packages pkg,
-
 
18943
			   package_versions pv,
-
 
18944
			   VIEW_DEF vd
-
 
18945
		 WHERE pv.pkg_id = pkg.pkg_id
-
 
18946
		   AND rel.pv_id = pv.pv_id
-
 
18947
		   AND rel.RTAG_ID = RtagId
-
 
18948
		   AND vd.VIEW_ID = ViewId
-
 
18949
		   AND vd.PKG_ID = pv.PKG_ID
-
 
18950
		 ORDER BY UPPER(pkg.PKG_NAME);
-
 
18951
 
-
 
18952
	END IF;
18993
    END IF;
18953
 
18994
 
18954
 
18995
 
18955
END;
18996
END;
18956
/*-------------------------------------------------------------------------------------------------------*/
18997
/*-------------------------------------------------------------------------------------------------------*/
18957
PROCEDURE CHANGE_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER, NewViewId IN NUMBER ) IS
18998
PROCEDURE CHANGE_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER, NewViewId IN NUMBER ) IS
18958
 
18999
 
18959
BEGIN
19000
BEGIN
18960
 
19001
 
18961
	UPDATE PLANNED pl SET
19002
    UPDATE PLANNED pl SET
18962
	pl.VIEW_ID = NewViewId
19003
    pl.VIEW_ID = NewViewId
18963
	WHERE pl.PV_ID = PvId
19004
    WHERE pl.PV_ID = PvId
18964
	  AND pl.RTAG_ID = RtagId;
19005
      AND pl.RTAG_ID = RtagId;
18965
 
19006
 
18966
END;
19007
END;
18967
/*-------------------------------------------------------------------------------------------------------*/
19008
/*-------------------------------------------------------------------------------------------------------*/
18968
-- DEVI-45275 This new function supports the ability to insert into the planned table, and existing
19009
-- DEVI-45275 This new function supports the ability to insert into the planned table, and existing
18969
-- version of a package as part of a release-to-release merge operation carried out within release manager.
19010
-- version of a package as part of a release-to-release merge operation carried out within release manager.
-
 
19011
-- DEVI-49594 This function has subsequently been changed to allow a merge operation to cancel its
-
 
19012
-- opposite operation, if the opposite already exists in the planned table. This supports user activity
-
 
19013
-- via the Release Manager merge manager display
18970
 
19014
 
18971
PROCEDURE MERGE_PACKAGE ( newPvId IN NUMBER, ViewId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER, mergeOperation IN CHAR ) IS
19015
PROCEDURE MERGE_PACKAGE ( newPvId IN NUMBER, ViewId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER, mergeOperation IN CHAR ) IS
18972
 
19016
 
18973
	ReleaseLocation VARCHAR2(4000);
19017
    ReleaseLocation VARCHAR2(4000);
18974
 
19018
 
-
 
19019
        entryExists NUMBER;
-
 
19020
        existingOperation CHAR;
18975
BEGIN
19021
BEGIN
18976
	/*--------------- Business Rules Here -------------------*/
19022
    /*--------------- Business Rules Here -------------------*/
18977
	/*-------------------------------------------------------*/
19023
    /*-------------------------------------------------------*/
18978
 
-
 
18979
 
-
 
18980
	-- Add to "Pending" area
-
 
18981
	INSERT INTO PLANNED ( RTAG_ID, PV_ID, VIEW_ID, OPERATION )
-
 
18982
	VALUES( RtagId, newPvId, ViewId, mergeOperation );
-
 
18983
 
19024
 
-
 
19025
      -- Determine if the specified PV_ID already exists in the planned table....
-
 
19026
      SELECT COUNT (pl.pv_id) INTO entryExists
-
 
19027
      FROM PLANNED pl
-
 
19028
      WHERE pl.pv_id = newPvId
-
 
19029
      AND pl.rtag_id = RtagId
-
 
19030
      AND pl.view_id = ViewId;
-
 
19031
 
-
 
19032
      -- If the specified PV_ID already exists in the planned table....
-
 
19033
      IF entryExists = 1 THEN
-
 
19034
 
-
 
19035
         -- Get the operation for the existing entry
-
 
19036
         SELECT pl.operation INTO existingOperation
-
 
19037
         FROM PLANNED pl
-
 
19038
         WHERE pl.pv_id = newPvId
-
 
19039
         AND pl.rtag_id = RtagId
-
 
19040
         AND pl.view_id = ViewId;
-
 
19041
 
-
 
19042
         -- Is the specified merge operation the opposite of the existing entry?
-
 
19043
         -- If it is not, then there is nothing to do, otherwise...
-
 
19044
         -- NOTE: A = Add, S = Subtract
-
 
19045
         IF (mergeOperation = 'S' AND existingOperation = 'A')
-
 
19046
            OR (mergeOperation = 'A' AND existingOperation = 'S') THEN
-
 
19047
 
-
 
19048
           -- It is the opposite, so effectively it cancels the existing entry
-
 
19049
           -- Remove the entry from the planned table
-
 
19050
           DELETE
-
 
19051
            FROM PLANNED pl
-
 
19052
           WHERE pl.pv_id = newPvId
-
 
19053
             AND pl.rtag_id = RtagId
-
 
19054
             AND pl.view_id = ViewId;
-
 
19055
 
-
 
19056
           -- Log action
-
 
19057
           SELECT proj.PROJ_NAME ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
-
 
19058
             FROM PROJECTS proj,
-
 
19059
                  RELEASE_TAGS rt
-
 
19060
            WHERE rt.PROJ_ID = proj.PROJ_ID
-
 
19061
              AND rt.RTAG_ID = RtagId;
18984
 
19062
 
-
 
19063
           Log_Action ( newPvId, 'deleted_from_pending', UserId, 'Location: '|| ReleaseLocation );
18985
	/* LOG ACTION */
19064
         END IF;
-
 
19065
      ELSE
-
 
19066
         -- Add to Planned tabled
-
 
19067
         INSERT INTO PLANNED ( RTAG_ID, PV_ID, VIEW_ID, OPERATION )
-
 
19068
         VALUES( RtagId, newPvId, ViewId, mergeOperation );
-
 
19069
 
-
 
19070
         -- Log Action
18986
	SELECT proj.PROJ_NAME ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
19071
         SELECT proj.PROJ_NAME ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
18987
	  FROM PROJECTS proj,
19072
          FROM PROJECTS proj,
18988
		   RELEASE_TAGS rt
19073
               RELEASE_TAGS rt
18989
	 WHERE rt.PROJ_ID = proj.PROJ_ID
19074
         WHERE rt.PROJ_ID = proj.PROJ_ID
18990
	   AND rt.RTAG_ID = RtagId;
19075
         AND   rt.RTAG_ID = RtagId;
18991
 
19076
 
18992
	Log_Action ( newPvId, 'add_to_planned', UserId, 'Location: '|| ReleaseLocation );
19077
         Log_Action ( newPvId, 'add_to_planned', UserId, 'Location: '|| ReleaseLocation );
-
 
19078
      END IF;
18993
 
19079
 
18994
END;
19080
END;
18995
/*-------------------------------------------------------------------------------------------------------*/
19081
/*-------------------------------------------------------------------------------------------------------*/
18996
END PK_PLANNED;
19082
END PK_PLANNED;
18997
/
19083
/
Line 19679... Line 19765...
19679
 
19765
 
19680
      RETURN outerrcode;
19766
      RETURN outerrcode;
19681
   END;
19767
   END;
19682
 
19768
 
19683
/*-------------------------------------------------------------------------------------------------------*/
19769
/*-------------------------------------------------------------------------------------------------------*/
-
 
19770
   FUNCTION exclude_indirect_from_build (
-
 
19771
      pvid          IN   NUMBER,
-
 
19772
      spkgversion   IN   VARCHAR2,
-
 
19773
      rtagid        IN   NUMBER,
-
 
19774
      username      IN   VARCHAR2,
-
 
19775
      rootpvid      IN   NUMBER,
-
 
19776
      rootcause     IN   VARCHAR2,
-
 
19777
      rootfile      IN   VARCHAR2
-
 
19778
   )
-
 
19779
      RETURN NUMBER
-
 
19780
   IS
-
 
19781
      userid              NUMBER;
-
 
19782
      outerrcode          NUMBER;
-
 
19783
      pkgid               NUMBER;
-
 
19784
 
-
 
19785
      CURSOR dnr_duplicate_cur
-
 
19786
      IS
-
 
19787
         SELECT *
-
 
19788
           FROM do_not_ripple
-
 
19789
          WHERE pv_id = pvid AND rtag_id = rtagid;
-
 
19790
 
-
 
19791
      dnr_duplicate_rec   dnr_duplicate_cur%ROWTYPE;
-
 
19792
   BEGIN
-
 
19793
      outerrcode := -1;       -- Set default return error code to ERROR state
-
 
19794
 
-
 
19795
      /*--------------- Business Rules Here -------------------*/
-
 
19796
      IF (rtagid IS NULL)
-
 
19797
      THEN
-
 
19798
         RETURN outerrcode;
-
 
19799
--         raise_application_error (-20000, 'RtagId must be supplied.');
-
 
19800
      END IF;
-
 
19801
 
-
 
19802
      IF (pvid IS NULL)
-
 
19803
      THEN
-
 
19804
         RETURN outerrcode;
-
 
19805
--         raise_application_error (-20000, 'PvId must be supplied.');
-
 
19806
      END IF;
-
 
19807
 
-
 
19808
      IF (username IS NULL)
-
 
19809
      THEN
-
 
19810
         RETURN outerrcode;
-
 
19811
--         raise_application_error (-20000, 'UserName must be supplied.');
-
 
19812
      END IF;
-
 
19813
 
-
 
19814
      -- Get user_id
-
 
19815
      BEGIN
-
 
19816
         SELECT usr.user_id
-
 
19817
           INTO userid
-
 
19818
           FROM users usr
-
 
19819
          WHERE UPPER (usr.user_name) = UPPER (username)
-
 
19820
            AND usr.is_disabled IS NULL;
-
 
19821
      EXCEPTION
-
 
19822
         WHEN NO_DATA_FOUND
-
 
19823
         THEN
-
 
19824
            RETURN outerrcode;
-
 
19825
--            raise_application_error (-20000,
-
 
19826
--                                        'UserName '
-
 
19827
--                                     || username
-
 
19828
--                                     || ' is not valid or disabled.'
-
 
19829
--                                    );
-
 
19830
      END;
-
 
19831
 
-
 
19832
     /* No duplicate recordset */
-
 
19833
     unripple_package_indirect (pvid, rtagid, userid, rootpvid, rootcause, rootfile);
-
 
19834
     outerrcode := 0;                            -- Set return to SUCCESS
-
 
19835
 
-
 
19836
      SELECT pkg_id
-
 
19837
        INTO pkgid
-
 
19838
        FROM package_versions
-
 
19839
       WHERE pv_id = pvid;
-
 
19840
 
-
 
19841
      DELETE FROM planned_versions
-
 
19842
            WHERE pkg_id = pkgid AND pkg_version = spkgversion;
-
 
19843
 
-
 
19844
      RETURN outerrcode;
-
 
19845
   END;
-
 
19846
/*-------------------------------------------------------------------------------------------------------*/
19684
   PROCEDURE insert_abt_actionlog (rconid IN NUMBER, action IN VARCHAR2)
19847
   PROCEDURE insert_abt_actionlog (rconid IN NUMBER, action IN VARCHAR2)
19685
   IS
19848
   IS
19686
   BEGIN
19849
   BEGIN
19687
      INSERT INTO abt_action_log
19850
      INSERT INTO abt_action_log
19688
                  (rcon_id, action_datetime, action
19851
                  (rcon_id, action_datetime, action