Subversion Repositories DevTools

Rev

Rev 4553 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4553 Rev 4585
Line 1... Line 1...
1
--------------------------------------------------------
1
--------------------------------------------------------
2
--  File created - Monday-September-22-2014   
2
--  File created - Tuesday-October-07-2014   
3
--------------------------------------------------------
3
--------------------------------------------------------
4
--------------------------------------------------------
4
--------------------------------------------------------
5
--  DDL for Type RELMGR_NUMBER_TAB_T
5
--  DDL for Type RELMGR_NUMBER_TAB_T
6
--------------------------------------------------------
6
--------------------------------------------------------
7
 
7
 
Line 37... Line 37...
37
/
37
/
38
--------------------------------------------------------
38
--------------------------------------------------------
39
--  DDL for Sequence SEQ_ADDITIONAL_NOTES
39
--  DDL for Sequence SEQ_ADDITIONAL_NOTES
40
--------------------------------------------------------
40
--------------------------------------------------------
41
 
41
 
42
   CREATE SEQUENCE  "SEQ_ADDITIONAL_NOTES"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 35629 CACHE 20 ORDER  NOCYCLE ;
42
   CREATE SEQUENCE  "SEQ_ADDITIONAL_NOTES"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 35669 CACHE 20 ORDER  NOCYCLE ;
43
/
43
/
44
--------------------------------------------------------
44
--------------------------------------------------------
45
--  DDL for Sequence SEQ_BMCON_ID
45
--  DDL for Sequence SEQ_BMCON_ID
46
--------------------------------------------------------
46
--------------------------------------------------------
47
 
47
 
Line 55... Line 55...
55
/
55
/
56
--------------------------------------------------------
56
--------------------------------------------------------
57
--  DDL for Sequence SEQ_CR_ID
57
--  DDL for Sequence SEQ_CR_ID
58
--------------------------------------------------------
58
--------------------------------------------------------
59
 
59
 
60
   CREATE SEQUENCE  "SEQ_CR_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 87961 CACHE 20 ORDER  NOCYCLE ;
60
   CREATE SEQUENCE  "SEQ_CR_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 88021 CACHE 20 ORDER  NOCYCLE ;
61
/
61
/
62
--------------------------------------------------------
62
--------------------------------------------------------
63
--  DDL for Sequence SEQ_DAEMON_INSTRUCTION_ID
63
--  DDL for Sequence SEQ_DAEMON_INSTRUCTION_ID
64
--------------------------------------------------------
64
--------------------------------------------------------
65
 
65
 
66
   CREATE SEQUENCE  "SEQ_DAEMON_INSTRUCTION_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 153807 CACHE 20 ORDER  NOCYCLE ;
66
   CREATE SEQUENCE  "SEQ_DAEMON_INSTRUCTION_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 154087 CACHE 20 ORDER  NOCYCLE ;
67
/
67
/
68
--------------------------------------------------------
68
--------------------------------------------------------
69
--  DDL for Sequence SEQ_GBE_ID
69
--  DDL for Sequence SEQ_GBE_ID
70
--------------------------------------------------------
70
--------------------------------------------------------
71
 
71
 
Line 85... Line 85...
85
/
85
/
86
--------------------------------------------------------
86
--------------------------------------------------------
87
--  DDL for Sequence SEQ_PKG_ID
87
--  DDL for Sequence SEQ_PKG_ID
88
--------------------------------------------------------
88
--------------------------------------------------------
89
 
89
 
90
   CREATE SEQUENCE  "SEQ_PKG_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 60626 CACHE 20 ORDER  NOCYCLE ;
90
   CREATE SEQUENCE  "SEQ_PKG_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 60686 CACHE 20 ORDER  NOCYCLE ;
91
/
91
/
92
--------------------------------------------------------
92
--------------------------------------------------------
93
--  DDL for Sequence SEQ_PROJ_ID
93
--  DDL for Sequence SEQ_PROJ_ID
94
--------------------------------------------------------
94
--------------------------------------------------------
95
 
95
 
96
   CREATE SEQUENCE  "SEQ_PROJ_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 801 CACHE 20 ORDER  NOCYCLE ;
96
   CREATE SEQUENCE  "SEQ_PROJ_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 821 CACHE 20 ORDER  NOCYCLE ;
97
/
97
/
98
--------------------------------------------------------
98
--------------------------------------------------------
99
--  DDL for Sequence SEQ_PV_ID
99
--  DDL for Sequence SEQ_PV_ID
100
--------------------------------------------------------
100
--------------------------------------------------------
101
 
101
 
102
   CREATE SEQUENCE  "SEQ_PV_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1000851 CACHE 20 ORDER  NOCYCLE ;
102
   CREATE SEQUENCE  "SEQ_PV_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1002791 CACHE 20 ORDER  NOCYCLE ;
103
/
103
/
104
--------------------------------------------------------
104
--------------------------------------------------------
105
--  DDL for Sequence SEQ_RCON_ID
105
--  DDL for Sequence SEQ_RCON_ID
106
--------------------------------------------------------
106
--------------------------------------------------------
107
 
107
 
108
   CREATE SEQUENCE  "SEQ_RCON_ID"  MINVALUE 1 MAXVALUE 9999999999999999999999999990 INCREMENT BY 1 START WITH 25983 CACHE 20 ORDER  NOCYCLE ;
108
   CREATE SEQUENCE  "SEQ_RCON_ID"  MINVALUE 1 MAXVALUE 9999999999999999999999999990 INCREMENT BY 1 START WITH 26023 CACHE 20 ORDER  NOCYCLE ;
109
/
109
/
110
--------------------------------------------------------
110
--------------------------------------------------------
111
--  DDL for Sequence SEQ_RTAG_ID
111
--  DDL for Sequence SEQ_RTAG_ID
112
--------------------------------------------------------
112
--------------------------------------------------------
113
 
113
 
114
   CREATE SEQUENCE  "SEQ_RTAG_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 30783 CACHE 20 ORDER  NOCYCLE ;
114
   CREATE SEQUENCE  "SEQ_RTAG_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 30823 CACHE 20 ORDER  NOCYCLE ;
115
/
115
/
116
--------------------------------------------------------
116
--------------------------------------------------------
117
--  DDL for Sequence SEQ_SCHEDULED_ID
117
--  DDL for Sequence SEQ_SCHEDULED_ID
118
--------------------------------------------------------
118
--------------------------------------------------------
119
 
119
 
120
   CREATE SEQUENCE  "SEQ_SCHEDULED_ID"  MINVALUE 1 MAXVALUE 9999999999999999999999999990 INCREMENT BY 1 START WITH 26981 CACHE 20 ORDER  NOCYCLE ;
120
   CREATE SEQUENCE  "SEQ_SCHEDULED_ID"  MINVALUE 1 MAXVALUE 9999999999999999999999999990 INCREMENT BY 1 START WITH 27001 CACHE 20 ORDER  NOCYCLE ;
121
/
121
/
122
--------------------------------------------------------
122
--------------------------------------------------------
123
--  DDL for Sequence SEQ_SESSION_NUM
123
--  DDL for Sequence SEQ_SESSION_NUM
124
--------------------------------------------------------
124
--------------------------------------------------------
125
 
125
 
126
   CREATE SEQUENCE  "SEQ_SESSION_NUM"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1013446 CACHE 20 ORDER  NOCYCLE ;
126
   CREATE SEQUENCE  "SEQ_SESSION_NUM"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1015006 CACHE 20 ORDER  NOCYCLE ;
127
/
127
/
128
--------------------------------------------------------
128
--------------------------------------------------------
129
--  DDL for Sequence SEQ_UNIT_TESTS
129
--  DDL for Sequence SEQ_UNIT_TESTS
130
--------------------------------------------------------
130
--------------------------------------------------------
131
 
131
 
132
   CREATE SEQUENCE  "SEQ_UNIT_TESTS"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 353625 CACHE 20 ORDER  NOCYCLE ;
132
   CREATE SEQUENCE  "SEQ_UNIT_TESTS"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 353825 CACHE 20 ORDER  NOCYCLE ;
133
/
133
/
134
--------------------------------------------------------
134
--------------------------------------------------------
135
--  DDL for Sequence SEQ_USER_ID
135
--  DDL for Sequence SEQ_USER_ID
136
--------------------------------------------------------
136
--------------------------------------------------------
137
 
137
 
Line 145... Line 145...
145
/
145
/
146
--------------------------------------------------------
146
--------------------------------------------------------
147
--  DDL for Sequence SEQ_VIEW_ID
147
--  DDL for Sequence SEQ_VIEW_ID
148
--------------------------------------------------------
148
--------------------------------------------------------
149
 
149
 
150
   CREATE SEQUENCE  "SEQ_VIEW_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 5401 CACHE 20 ORDER  NOCYCLE ;
150
   CREATE SEQUENCE  "SEQ_VIEW_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 5421 CACHE 20 ORDER  NOCYCLE ;
151
/
151
/
152
--------------------------------------------------------
152
--------------------------------------------------------
153
--  DDL for Sequence SEQ_VTREE_ID
153
--  DDL for Sequence SEQ_VTREE_ID
154
--------------------------------------------------------
154
--------------------------------------------------------
155
 
155
 
156
   CREATE SEQUENCE  "SEQ_VTREE_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 27602 CACHE 20 ORDER  NOCYCLE ;
156
   CREATE SEQUENCE  "SEQ_VTREE_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 27642 CACHE 20 ORDER  NOCYCLE ;
157
/
157
/
158
--------------------------------------------------------
158
--------------------------------------------------------
159
--  DDL for Table ABT_ACTION_LOG
159
--  DDL for Table ABT_ACTION_LOG
160
--------------------------------------------------------
160
--------------------------------------------------------
161
 
161
 
Line 399... Line 399...
399
	"DATE_OF_REVIEW" DATE, 
399
	"DATE_OF_REVIEW" DATE, 
400
	"LAST_MODIFIED" DATE
400
	"LAST_MODIFIED" DATE
401
   ) ;
401
   ) ;
402
/
402
/
403
--------------------------------------------------------
403
--------------------------------------------------------
-
 
404
--  DDL for Table CQ_HISTORY
-
 
405
--------------------------------------------------------
-
 
406
 
-
 
407
  CREATE TABLE "CQ_HISTORY" 
-
 
408
   (	"DBID" NUMBER(10,0), 
-
 
409
	"ENTITY_DBID" NUMBER(10,0), 
-
 
410
	"ENTITYDEF_ID" NUMBER(10,0), 
-
 
411
	"ENTITYDEF_NAME" VARCHAR2(30 CHAR), 
-
 
412
	"ACTION_TIMESTAMP" DATE, 
-
 
413
	"USER_NAME" VARCHAR2(30 CHAR), 
-
 
414
	"ACTION_NAME" VARCHAR2(30 CHAR), 
-
 
415
	"OLD_STATE" VARCHAR2(30 CHAR), 
-
 
416
	"NEW_STATE" VARCHAR2(30 CHAR), 
-
 
417
	"EXPIRED_TIMESTAMP" DATE
-
 
418
   ) ;
-
 
419
/
-
 
420
--------------------------------------------------------
404
--  DDL for Table CQ_ISSUES
421
--  DDL for Table CQ_ISSUES
405
--------------------------------------------------------
422
--------------------------------------------------------
406
 
423
 
407
  CREATE TABLE "CQ_ISSUES" 
424
  CREATE TABLE "CQ_ISSUES" 
408
   (	"PV_ID" NUMBER, 
425
   (	"PV_ID" NUMBER, 
Line 411... Line 428...
411
	"ISS_STATE" NUMBER, 
428
	"ISS_STATE" NUMBER, 
412
	"MOD_DATE" DATE, 
429
	"MOD_DATE" DATE, 
413
	"NOTES" VARCHAR2(255)
430
	"NOTES" VARCHAR2(255)
414
   ) ;
431
   ) ;
415
/
432
/
-
 
433
--------------------------------------------------------
-
 
434
--  DDL for Table CQ_SOFTWARE_ISSUE
-
 
435
--------------------------------------------------------
-
 
436
 
-
 
437
  CREATE TABLE "CQ_SOFTWARE_ISSUE" 
-
 
438
   (	"RATL_MASTERSHIP" NUMBER(10,0), 
-
 
439
	"DBID" NUMBER(10,0), 
-
 
440
	"IS_ACTIVE" NUMBER(10,0), 
-
 
441
	"ID" VARCHAR2(13 CHAR), 
-
 
442
	"STATE" NUMBER(10,0), 
-
 
443
	"VERSION" NUMBER(10,0), 
-
 
444
	"LOCK_VERSION" NUMBER(10,0), 
-
 
445
	"LOCKED_BY" NUMBER(10,0), 
-
 
446
	"IS_DUPLICATE" NUMBER(10,0), 
-
 
447
	"UNDUPLICATE_STATE" VARCHAR2(50 CHAR), 
-
 
448
	"HEADLINE" VARCHAR2(150 CHAR), 
-
 
449
	"DESCRIPTION" CLOB, 
-
 
450
	"PRIORITY" VARCHAR2(50 CHAR), 
-
 
451
	"SUBMITTER" NUMBER(10,0), 
-
 
452
	"SUBMIT_DATE" DATE, 
-
 
453
	"OWNER" NUMBER(10,0), 
-
 
454
	"APPROVER" NUMBER(10,0), 
-
 
455
	"NOTE_ENTRY" CLOB, 
-
 
456
	"NOTES_LOG" CLOB, 
-
 
457
	"RESOLUTION_DATE" DATE, 
-
 
458
	"ISSUE_TYPE" VARCHAR2(50 CHAR), 
-
 
459
	"PACKAGE_REF" VARCHAR2(50 CHAR), 
-
 
460
	"SOLUTION_APPROVED_DATE" DATE, 
-
 
461
	"CLOSE_DATE" DATE, 
-
 
462
	"BUILD_NUMBER" VARCHAR2(50 CHAR), 
-
 
463
	"NEW_NUM" VARCHAR2(50 CHAR), 
-
 
464
	"FOR_INFORMATION" CLOB, 
-
 
465
	"PROP_SOL_DATE" DATE, 
-
 
466
	"ARTIFACTS_TO_BE_UPDATED_1" CLOB, 
-
 
467
	"ISSUE_ID" NUMBER(10,0), 
-
 
468
	"SOLUTION_DATE" DATE, 
-
 
469
	"KPI_SOLUTION_DATE" DATE, 
-
 
470
	"TITLE" VARCHAR2(80 CHAR), 
-
 
471
	"PROJECT" VARCHAR2(50 CHAR), 
-
 
472
	"ORIGINATING_AREA" VARCHAR2(50 CHAR), 
-
 
473
	"ESTIMATED_TIME_INHOURS" NUMBER(10,0), 
-
 
474
	"RELEASE_PART1" NUMBER(10,0), 
-
 
475
	"RELEASE_PART2" NUMBER(10,0), 
-
 
476
	"RELEASE_PART3" NUMBER(10,0), 
-
 
477
	"SOLUTION_RELEASE_PART1" NUMBER(10,0), 
-
 
478
	"SOLUTION_RELEASE_PART2" NUMBER(10,0), 
-
 
479
	"SOLUTION_RELEASE_PART3" NUMBER(10,0), 
-
 
480
	"ORIGINAL_IMPLEMENT_DATE" DATE, 
-
 
481
	"ISSUE_LABEL" VARCHAR2(50 CHAR), 
-
 
482
	"PRODUCT" VARCHAR2(50 CHAR), 
-
 
483
	"ORIGIN" VARCHAR2(50 CHAR), 
-
 
484
	"CLONE_NOTE" CLOB, 
-
 
485
	"SOLUTION_LABEL" VARCHAR2(50 CHAR), 
-
 
486
	"REQUIRED_BY" DATE, 
-
 
487
	"ITERATION_AFFECTED" VARCHAR2(50 CHAR), 
-
 
488
	"MERGE_OLD_ID" VARCHAR2(150 CHAR), 
-
 
489
	"COMMENTS" CLOB, 
-
 
490
	"CHANGE_CONTROL" VARCHAR2(50 CHAR), 
-
 
491
	"MERGE_COMMENTS" CLOB, 
-
 
492
	"MERGE_CHANGE_CONTROL" VARCHAR2(50 CHAR), 
-
 
493
	"AWAITING_INFO_DESC" CLOB, 
-
 
494
	"REQUEST_CLOSE_DESC" CLOB, 
-
 
495
	"ROOT_CAUSE" VARCHAR2(50 CHAR), 
-
 
496
	"FLAGA" VARCHAR2(50 CHAR), 
-
 
497
	"FLAGB" VARCHAR2(50 CHAR), 
-
 
498
	"FLAGC" VARCHAR2(50 CHAR), 
-
 
499
	"SCHEDULED_RELEASE" VARCHAR2(60 CHAR), 
-
 
500
	"SEVERITY" VARCHAR2(50 CHAR), 
-
 
501
	"CUSTOM_FIELD_01" CLOB, 
-
 
502
	"CUSTOM_FIELD_02" CLOB, 
-
 
503
	"CUSTOM_FIELD_03" CLOB, 
-
 
504
	"CUSTOMER_REFERENCE" VARCHAR2(254 CHAR), 
-
 
505
	"TEAMLEADER" NUMBER(10,0), 
-
 
506
	"WIP" CLOB, 
-
 
507
	"RELEASEINFO" CLOB, 
-
 
508
	"SBOM" VARCHAR2(254 CHAR), 
-
 
509
	"NEW_EXTERNAL_NOTE" CLOB, 
-
 
510
	"EXTERNAL_NOTE_LOG" CLOB, 
-
 
511
	"CUSTOMER_REFERENCE_2" VARCHAR2(50 CHAR), 
-
 
512
	"CUSTOMER_REFERENCE_3" VARCHAR2(50 CHAR), 
-
 
513
	"CUSTOMER_REFERENCE_4" VARCHAR2(50 CHAR), 
-
 
514
	"CUSTOMER_REFERENCE_5" VARCHAR2(50 CHAR), 
-
 
515
	"TEST_CASES" CLOB, 
-
 
516
	"INTEGRATION_NOTES" CLOB, 
-
 
517
	"UPDATED_DESIGN_NOTES" VARCHAR2(50 CHAR), 
-
 
518
	"RELATED_DATABASE_PATCHES" VARCHAR2(50 CHAR), 
-
 
519
	"AFFECTED_PACKAGES" VARCHAR2(50 CHAR), 
-
 
520
	"CODEREVIEW_REFERENCE" CLOB, 
-
 
521
	"RISK" VARCHAR2(50 CHAR), 
-
 
522
	"DEPENDANT_DEVIS" VARCHAR2(50 CHAR), 
-
 
523
	"CUSTOM_FIELD_04" CLOB, 
-
 
524
	"CUSTOM_FIELD_05" CLOB, 
-
 
525
	"ITERATION_FOUND" VARCHAR2(50 CHAR)
-
 
526
   ) ;
-
 
527
/
-
 
528
--------------------------------------------------------
-
 
529
--  DDL for Table CQ_STATEDEF
-
 
530
--------------------------------------------------------
-
 
531
 
-
 
532
  CREATE TABLE "CQ_STATEDEF" 
-
 
533
   (	"ID" NUMBER(10,0), 
-
 
534
	"PACKAGE_OWNERSHIP" NUMBER(10,0), 
-
 
535
	"NAME" VARCHAR2(255 CHAR), 
-
 
536
	"ENTITYDEF_ID" NUMBER(10,0), 
-
 
537
	"ORDINAL" NUMBER(10,0)
-
 
538
   ) ;
-
 
539
/
-
 
540
--------------------------------------------------------
-
 
541
--  DDL for Table CQ_USERS
-
 
542
--------------------------------------------------------
-
 
543
 
-
 
544
  CREATE TABLE "CQ_USERS" 
-
 
545
   (	"DBID" VARCHAR2(8), 
-
 
546
	"LOGIN_NAME" VARCHAR2(17), 
-
 
547
	"FULLNAME" VARCHAR2(30)
-
 
548
   ) ;
-
 
549
/
416
--------------------------------------------------------
550
--------------------------------------------------------
417
--  DDL for Table DAEMON_ACTION_LOG
551
--  DDL for Table DAEMON_ACTION_LOG
418
--------------------------------------------------------
552
--------------------------------------------------------
419
 
553
 
420
  CREATE TABLE "DAEMON_ACTION_LOG" 
554
  CREATE TABLE "DAEMON_ACTION_LOG" 
Line 3931... Line 4065...
3931
 
4065
 
3932
	TYPE typeCur IS REF CURSOR;
4066
	TYPE typeCur IS REF CURSOR;
3933
 
4067
 
3934
    /*================================================================================================*/
4068
    /*================================================================================================*/
3935
	PROCEDURE ADD_PACKAGE ( newPvId IN NUMBER, ViewId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER );
4069
	PROCEDURE ADD_PACKAGE ( newPvId IN NUMBER, ViewId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER );
-
 
4070
  PROCEDURE ADD_RIPPLE_PACKAGE ( newPvId IN NUMBER, basePvid IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER );
3936
	PROCEDURE REMOVE_PACKAGE ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER );
4071
	PROCEDURE REMOVE_PACKAGE ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER );
3937
	FUNCTION GET_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER ) RETURN NUMBER;
4072
	FUNCTION GET_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER ) RETURN NUMBER;
3938
	PROCEDURE GET_VIEW_CONTENT ( RtagId IN NUMBER, ViewId IN NUMBER, RecordSet OUT typeCur );
4073
	PROCEDURE GET_VIEW_CONTENT ( RtagId IN NUMBER, ViewId IN NUMBER, RecordSet OUT typeCur );
3939
	PROCEDURE CHANGE_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER, NewViewId IN NUMBER );
4074
	PROCEDURE CHANGE_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER, NewViewId IN NUMBER );
3940
	PROCEDURE MERGE_PACKAGE ( newPvId IN NUMBER, ViewId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER, mergeOperation IN CHAR);
4075
	PROCEDURE MERGE_PACKAGE ( newPvId IN NUMBER, ViewId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER, mergeOperation IN CHAR);
Line 4043... Line 4178...
4043
      dependenciesimportlist   IN   VARCHAR2,
4178
      dependenciesimportlist   IN   VARCHAR2,
4044
      isrippled                IN   NUMBER,
4179
      isrippled                IN   NUMBER,
4045
      username                 IN   VARCHAR2
4180
      username                 IN   VARCHAR2
4046
   )
4181
   )
4047
      RETURN NUMBER;
4182
      RETURN NUMBER;
-
 
4183
      
-
 
4184
       FUNCTION auto_make_vcsrelease2 (
-
 
4185
      rtagid                   IN   NUMBER,
-
 
4186
      pkgname                  IN   VARCHAR2,
-
 
4187
      vext                     IN   VARCHAR2,
-
 
4188
      newpkgversion            IN   VARCHAR2,
-
 
4189
      vcstag                   IN   VARCHAR2,
-
 
4190
      dependenciesimportlist   IN   VARCHAR2,
-
 
4191
      isrippled                IN   NUMBER,
-
 
4192
      username                 IN   VARCHAR2
-
 
4193
   )
-
 
4194
      RETURN NUMBER;
4048
 
4195
 
4049
 
4196
 
4050
   PROCEDURE import_dependencies (
4197
   PROCEDURE import_dependencies (
4051
      pvid                     IN   NUMBER,
4198
      pvid                     IN   NUMBER,
4052
      dependenciesimportlist   IN   VARCHAR2,
4199
      dependenciesimportlist   IN   VARCHAR2,
Line 6900... Line 7047...
6900
 
7047
 
6901
     RETURN returnvalue;
7048
     RETURN returnvalue;
6902
   END;
7049
   END;
6903
 
7050
 
6904
/*-------------------------------------------------------------------------------------------------------*/
7051
/*-------------------------------------------------------------------------------------------------------*/
-
 
7052
   PROCEDURE make_release (
-
 
7053
     pvid          IN   NUMBER,                         -- NEW  PKG pvid
6905
   PROCEDURE make_release (pvid IN NUMBER, rtagid IN NUMBER, userid IN NUMBER)
7054
     rtagid        IN   NUMBER,                         -- Release Id
-
 
7055
     userid        IN   NUMBER                          -- User performing Release
-
 
7056
   )
6906
   IS
7057
   IS
6907
     viewid        NUMBER;
7058
     viewid        NUMBER;
6908
     envtab        NUMBER;
7059
     envtab        NUMBER;
6909
     ispatch       CHAR (1) := NULL;
7060
     ispatch       CHAR (1) := NULL;
6910
     buildtype     CHAR (1) := NULL;
7061
     buildtype     CHAR (1) := NULL;
Line 6945... Line 7096...
6945
       -- PENDING --
7096
       -- PENDING --
6946
       pk_planned.remove_package (pvid, rtagid, userid);
7097
       pk_planned.remove_package (pvid, rtagid, userid);
6947
     END IF;
7098
     END IF;
6948
 
7099
 
6949
     -- Change package state
7100
     -- Change package state
-
 
7101
     -- Set dlocked state to mark the package a 'Released and Locked'
6950
     pk_package.change_state (pvid, 'Y', userid);
7102
     pk_package.change_state (pvid, 'Y', userid);
6951
 
7103
 
6952
     -- Make sure it is valid BASE VIEW
7104
     -- Make sure it is valid BASE VIEW
6953
     IF viewid < 1
7105
     IF viewid < 1
6954
     THEN
7106
     THEN
6955
       viewid := 7;                     -- This is default base view
7107
       viewid := 7;                     -- This is default base view
6956
     END IF;
7108
     END IF;
6957
 
7109
 
6958
     IF (ispatch IS NULL)
7110
     IF (ispatch IS NULL)
6959
     THEN
7111
     THEN
6960
       -- Add package to new area
7112
       -- Add (Replace) package to new area
6961
       pk_release.add_package (pvid, viewid, rtagid, userid);
7113
       pk_release.add_package (pvid, viewid, rtagid, userid);
6962
     END IF;
7114
     END IF;
6963
 
7115
 
6964
     -- Now do post Release Actions
7116
     -- Now do post Release Actions
6965
     pk_release.run_post_actions (pvid, rtagid);
7117
     pk_release.run_post_actions (pvid, rtagid);
Line 6972... Line 7124...
6972
     -- Log
7124
     -- Log
6973
     log_action (pvid, 'action', userid, 'End of Make Package Release...');
7125
     log_action (pvid, 'action', userid, 'End of Make Package Release...');
6974
   END;
7126
   END;
6975
 
7127
 
6976
/*-------------------------------------------------------------------------------------------------------*/
7128
/*-------------------------------------------------------------------------------------------------------*/
-
 
7129
  --  Release a specified package into a specified release
-
 
7130
  --
-
 
7131
  --  Similar to 'make_release', but it attempts to handle the case where a package-version
-
 
7132
  --  is being replaced with one with a different package-suffix, but it doesn't
-
 
7133
  --  handle all the cases well. 
-
 
7134
  --
-
 
7135
  --  The current build system cannot do this automatically - yet
-
 
7136
  --
-
 
7137
  --
6977
   PROCEDURE auto_make_release (
7138
   PROCEDURE auto_make_release (
6978
     pvid          IN   NUMBER,
7139
     pvid          IN   NUMBER,                         -- NEW  PKG pvid
6979
     rtagid        IN   NUMBER,
7140
     rtagid        IN   NUMBER,                         -- Release Id
6980
     userid        IN   NUMBER,
7141
     userid        IN   NUMBER,                         -- User performing Release
6981
     vext          IN   package_versions.v_ext%TYPE,
7142
     vext          IN   package_versions.v_ext%TYPE,    -- Package Extension for original pkg
6982
     ssv_ext       IN   package_versions.v_ext%TYPE,
7143
     ssv_ext       IN   package_versions.v_ext%TYPE,    -- Package Extension for new package
6983
     clonefrompvid IN   NUMBER
7144
     clonefrompvid IN   NUMBER                          -- PVID of Original
6984
   )
7145
   )
6985
   IS
7146
   IS
6986
     viewid        NUMBER;
7147
     viewid        NUMBER;
6987
     envtab        NUMBER;
7148
     envtab        NUMBER;
-
 
7149
 
-
 
7150
     clone_removal NUMBER := 0;
-
 
7151
     clone_viewid  NUMBER := -1;
-
 
7152
     clone_envtab  NUMBER := -1;
-
 
7153
 
6988
     ispatch       CHAR (1) := NULL;
7154
     ispatch       CHAR (1) := NULL;
6989
     buildtype      CHAR (1) := NULL;
7155
     buildtype     CHAR (1) := NULL;
-
 
7156
 
6990
   BEGIN
7157
   BEGIN
6991
     -- Check if package is patch
7158
     -- Check if package is patch
6992
     SELECT pv.is_patch, pv.build_type
7159
     SELECT pv.is_patch, pv.build_type
6993
      INTO ispatch, buildtype
7160
      INTO ispatch, buildtype
6994
      FROM package_versions pv
7161
      FROM package_versions pv
6995
      WHERE pv.pv_id = pvid;
7162
      WHERE pv.pv_id = pvid;
6996
 
7163
 
-
 
7164
     --
-
 
7165
     -- Determine the viewid and environment for the new package
-
 
7166
     --
-
 
7167
     viewid := get_package_view (pvid, rtagid);
-
 
7168
     envtab := pk_environment.get_package_area (pvid, rtagid);
-
 
7169
 
-
 
7170
     --
-
 
7171
     -- If changing pkgExt, then we need to delete the orig package, not just replace it
-
 
7172
     --
6997
     IF vext <> ssv_ext
7173
     IF (clonefrompvid is NOT NULL) AND (vext <> ssv_ext)
6998
     THEN
7174
     THEN
6999
       -- Get ViewId
7175
        clone_removal := 1;
7000
       viewid := get_package_view (clonefrompvid, rtagid);
7176
        clone_viewid := get_package_view (clonefrompvid, rtagid);
7001
       -- Remove from current area
-
 
7002
       envtab := pk_environment.get_package_area (clonefrompvid, rtagid);
7177
        clone_envtab := pk_environment.get_package_area (clonefrompvid, rtagid);
7003
     ELSE
-
 
7004
       -- Get ViewId
-
 
7005
       viewid := get_package_view (pvid, rtagid);
-
 
7006
       -- Remove from current area
-
 
7007
       envtab := pk_environment.get_package_area (pvid, rtagid);
-
 
7008
     END IF;
7178
     END IF;
7009
 
7179
 
-
 
7180
     --
7010
     -- Make sure that package was in work-in-progress or pending before makeing it release
7181
     -- Make sure that package was in work-in-progress or pending before makeing it release
7011
     -- Exclude patches, ripple builds
7182
     -- Exclude patches, ripple builds
-
 
7183
     --
7012
     IF (envtab < 0)
7184
     IF (envtab < 0)
7013
     THEN
7185
     THEN
7014
       -- Not found in work-in-progress or pending
7186
       -- Not found in work-in-progress or pending
7015
       IF (ispatch IS NULL) AND (buildtype = 'M')
7187
       IF (ispatch IS NULL) AND (buildtype = 'M')
7016
       THEN
7188
       THEN
Line 7021... Line 7193...
7021
     END IF;
7193
     END IF;
7022
 
7194
 
7023
     -- Log
7195
     -- Log
7024
     log_action (pvid, 'action', userid, 'Start of Make Package Release...');
7196
     log_action (pvid, 'action', userid, 'Start of Make Package Release...');
7025
 
7197
 
-
 
7198
     --
-
 
7199
     -- Remove the package from the WIP or PENDING tab
7026
     IF vext <> ssv_ext
7200
     -- Do NOT remove from the release area. 
-
 
7201
     --     This will be handled later with a process that
-
 
7202
     --     will do a 'replace' so that meta data is not lost
7027
     THEN
7203
     --
7028
       IF envtab = 0
7204
    IF envtab = 0
7029
       THEN
7205
    THEN
7030
         -- WORK IN PROGRESS --
7206
        -- WORK IN PROGRESS --
7031
         pk_work_in_progress.remove_package (clonefrompvid, rtagid,
7207
        pk_work_in_progress.remove_package (pvid, rtagid, userid);
7032
                                    userid);
-
 
7033
       ELSIF envtab = 1
7208
    ELSIF envtab = 1
7034
       THEN
7209
    THEN
7035
         -- PENDING --
7210
        -- PENDING --
7036
         pk_planned.remove_package (clonefrompvid, rtagid, userid);
7211
        pk_planned.remove_package (pvid, rtagid, userid);
7037
       ELSIF envtab = 2
7212
    END IF;
-
 
7213
 
7038
       THEN
7214
    --
7039
         -- RELEASED --
7215
    --  If we are changing the pkgExt, then fully remove the base package
7040
         pk_release.remove_package (clonefrompvid, rtagid, userid);
7216
    --  This includes removing it from the 'release' area.
7041
       END IF;
7217
    --
-
 
7218
    IF clone_removal = 1
7042
     ELSE
7219
    THEN
7043
       IF envtab = 0
7220
        IF clone_envtab = 0
7044
       THEN
7221
        THEN
7045
         -- WORK IN PROGRESS --
7222
            -- WORK IN PROGRESS --
7046
         pk_work_in_progress.remove_package (pvid, rtagid, userid);
7223
            pk_work_in_progress.remove_package (clonefrompvid, rtagid, userid);
7047
       ELSIF envtab = 1
7224
        ELSIF clone_envtab = 1
7048
       THEN
7225
        THEN
7049
         -- PENDING --
7226
            -- PENDING --
7050
         pk_planned.remove_package (pvid, rtagid, userid);
7227
            pk_planned.remove_package (clonefrompvid, rtagid, userid);
-
 
7228
        ELSIF clone_envtab = 2
-
 
7229
        THEN
-
 
7230
            -- RELEASED --
-
 
7231
            pk_release.remove_package (clonefrompvid, rtagid, userid);
7051
       END IF;
7232
       END IF;
7052
     END IF;
7233
    END IF;
7053
 
7234
 
7054
     -- Change package state
7235
     -- Change package state
-
 
7236
     -- Set dlocked state to mark the package a 'Released and Locked'
7055
     pk_package.change_state (pvid, 'Y', userid);
7237
     pk_package.change_state (pvid, 'Y', userid);
7056
 
7238
 
7057
     -- Make sure it is valid BASE VIEW
7239
     -- Make sure it is valid BASE VIEW
-
 
7240
     -- If its not specified, give it a default (7) view
7058
     IF viewid < 1
7241
     IF viewid < 1
7059
     THEN
7242
     THEN
-
 
7243
        IF clone_viewid >= 0
-
 
7244
        THEN
7060
       viewid := 7;                     -- This is default base view
7245
            viewid := clone_viewid; 
-
 
7246
        ELSE
-
 
7247
            viewid := 7;
-
 
7248
        END IF;
7061
     END IF;
7249
     END IF;
7062
 
7250
 
7063
     IF (ispatch IS NULL)
7251
     IF (ispatch IS NULL)
7064
     THEN
7252
     THEN
7065
       -- Add package to new area
7253
       -- Add (Replace) package to new area
7066
       pk_release.add_package (pvid, viewid, rtagid, userid);
7254
       pk_release.add_package (pvid, viewid, rtagid, userid);
7067
     END IF;
7255
     END IF;
7068
 
7256
 
7069
     -- Now do post Release Actions
7257
     -- Now do post Release Actions
7070
     pk_release.run_post_actions (pvid, rtagid);
7258
     pk_release.run_post_actions (pvid, rtagid);
Line 8965... Line 9153...
8965
        RAISE_APPLICATION_ERROR (-20000, 'This version is already in Pending Area at '|| sLocation ||'.' );
9153
        RAISE_APPLICATION_ERROR (-20000, 'This version is already in Pending Area at '|| sLocation ||'.' );
8966
 
9154
 
8967
    END IF;
9155
    END IF;
8968
 
9156
 
8969
END;
9157
END;
-
 
9158
PROCEDURE ADD_RIPPLE_PACKAGE ( newPvId IN NUMBER, basePvid IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER ) IS
-
 
9159
 
-
 
9160
    oldPvId NUMBER;
-
 
9161
    ReleaseLocation VARCHAR2(4000);
-
 
9162
    IsPatch CHAR(1) := NULL;
-
 
9163
    sLocation VARCHAR2(4000) := NULL;
-
 
9164
    nRtagIdLocation NUMBER;
-
 
9165
    ViewId NUMBER := -1;
-
 
9166
 
-
 
9167
/*  ADD_RIPPLE_PACKAGE is used by the auto build process to add a rippled package into the
-
 
9168
    Pending tab as a part of the Release process.
-
 
9169
 
-
 
9170
    Done mainly to assist in error handling and build restart
-
 
9171
*/
-
 
9172
 
-
 
9173
 
-
 
9174
BEGIN
-
 
9175
    /*--------------- Business Rules Here -------------------*/
-
 
9176
    BEGIN
-
 
9177
        -- Ensure that the Base package exists in the Release
-
 
9178
        -- Determine the Base Package View Id
-
 
9179
        select BASE_VIEW_ID into ViewId 
-
 
9180
        from release_content rc
-
 
9181
        where rc.pv_id = basePvid and rc.rtag_id = RtagId;
-
 
9182
        exception
-
 
9183
            when NO_DATA_FOUND then
-
 
9184
                ViewId := -1;
-
 
9185
    END; 
-
 
9186
 
-
 
9187
    SELECT proj.PROJ_NAME ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
-
 
9188
      FROM PROJECTS proj,
-
 
9189
           RELEASE_TAGS rt
-
 
9190
     WHERE rt.PROJ_ID = proj.PROJ_ID
-
 
9191
       AND rt.RTAG_ID = RtagId;
-
 
9192
    
-
 
9193
    /* Core operation */
-
 
9194
 
-
 
9195
    IF ViewId != -1 THEN
-
 
9196
 
-
 
9197
        -- Add to "Pending" area
-
 
9198
        INSERT INTO PLANNED ( RTAG_ID, PV_ID, VIEW_ID, OPERATION )
-
 
9199
        VALUES( RtagId, newPvId, ViewId, 'R' );
-
 
9200
 
-
 
9201
        /* LOG ACTION */
-
 
9202
 
-
 
9203
        Log_Action ( newPvId, 'add_to_planned', UserId, 'Location: '|| ReleaseLocation );
-
 
9204
 
-
 
9205
    ELSE
-
 
9206
 
-
 
9207
        RAISE_APPLICATION_ERROR (-20000, 'Base version not in release '|| sLocation ||'.' );
-
 
9208
 
-
 
9209
    END IF;
-
 
9210
 
-
 
9211
END;
-
 
9212
 
8970
/*-------------------------------------------------------------------------------------------------------*/
9213
/*-------------------------------------------------------------------------------------------------------*/
8971
PROCEDURE REMOVE_PACKAGE ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER ) IS
9214
PROCEDURE REMOVE_PACKAGE ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER ) IS
8972
 
9215
 
8973
    ReleaseLocation VARCHAR2(4000);
9216
    ReleaseLocation VARCHAR2(4000);
8974
 
9217
 
Line 10014... Line 10257...
10014
 
10257
 
10015
 
10258
 
10016
 
10259
 
10017
END;
10260
END;
10018
/*-------------------------------------------------------------------------------------------------------*/
10261
/*-------------------------------------------------------------------------------------------------------*/
-
 
10262
  -- Add or Replace a package to the specified release
10019
PROCEDURE ADD_PACKAGE ( newPvId IN NUMBER, ViewId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER ) IS
10263
PROCEDURE ADD_PACKAGE ( newPvId IN NUMBER, ViewId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER ) IS
10020
 
-
 
10021
   ReleaseLocation VARCHAR2(4000);
10264
   ReleaseLocation VARCHAR2(4000);
10022
   sPkgVersion VARCHAR2(4000);
10265
   sPkgVersion VARCHAR2(4000);
10023
   nPkgId NUMBER;
10266
   nPkgId NUMBER;
10024
   sVExt VARCHAR2(4000);
10267
   sVExt VARCHAR2(4000);
10025
   IsPatch PACKAGE_VERSIONS.IS_PATCH%TYPE := 'N';
10268
   IsPatch PACKAGE_VERSIONS.IS_PATCH%TYPE := 'N';
Line 10787... Line 11030...
10787
          WHERE UPPER (usr.user_name) = UPPER (username)
11030
          WHERE UPPER (usr.user_name) = UPPER (username)
10788
            AND usr.is_disabled IS NULL;
11031
            AND usr.is_disabled IS NULL;
10789
      EXCEPTION
11032
      EXCEPTION
10790
         WHEN NO_DATA_FOUND
11033
         WHEN NO_DATA_FOUND
10791
         THEN
11034
         THEN
10792
            raise_application_error (-20000,
-
 
10793
                                        'UserName: '
-
 
10794
                                     || username
-
 
10795
                                     || ' is not valid or disabled.'
11035
            raise_application_error (-20000, 'UserName: ' || username || ' is not valid or disabled.' );
10796
                                    );
-
 
10797
      END;
11036
      END;
10798
 
11037
 
10799
/*-------------------------------------------------------*/
11038
/*-------------------------------------------------------*/
10800
 
11039
 
10801
      -- Create package if necessary
11040
      -- Create package if necessary
Line 10869... Line 11108...
10869
                                            userid,
11108
                                            userid,
10870
                                            pvid,
11109
                                            pvid,
10871
                                            clonefrompvid
11110
                                            clonefrompvid
10872
                                           );
11111
                                           );
10873
            ELSE
11112
            ELSE
10874
               -- Create package
11113
               -- Create package (now both the same)
10875
               seed_package_names_versions2 (pkgname,
11114
               seed_package_names_versions (pkgname,
10876
                                             newpkgversion,
11115
                                             newpkgversion,
10877
                                             userid,
11116
                                             userid,
10878
                                             pvid,
11117
                                             pvid,
10879
                                             clonefrompvid
11118
                                             clonefrompvid
10880
                                            );
11119
                                            );
Line 11007... Line 11246...
11007
            WHERE pkg_id = pkgid AND pkg_version = newpkgversion;
11246
            WHERE pkg_id = pkgid AND pkg_version = newpkgversion;
11008
 
11247
 
11009
      RETURN pvid;
11248
      RETURN pvid;
11010
   END;
11249
   END;
11011
 
11250
 
-
 
11251
/* -------------------------------------------------------------------------- */
-
 
11252
-- Use:
-
 
11253
--   Used by the Automated Build System to release a new package
-
 
11254
--   Will replace auto_make_vcsrelease
-
 
11255
-- Returns:
-
 
11256
--    Use application errors to indicate programming errors
-
 
11257
--    Use negative return codes to indicate correctable user problems
-
 
11258
--    Positive return code is the new PVID of the package
-
 
11259
--  Similar to auto_make_vcsrelease, but
-
 
11260
--      Cleaned up and simplified
-
 
11261
--      Does not Release the package, it only preps it for release
-
 
11262
--      Adds Rippled Package into the Pending Tab
-
 
11263
--
-
 
11264
FUNCTION auto_make_vcsrelease2 (
-
 
11265
      rtagid                   IN   NUMBER,
-
 
11266
      pkgname                  IN   VARCHAR2,
-
 
11267
      vext                     IN   VARCHAR2,
-
 
11268
      newpkgversion            IN   VARCHAR2,
-
 
11269
      vcstag                   IN   VARCHAR2,
-
 
11270
      dependenciesimportlist   IN   VARCHAR2,
-
 
11271
      isrippled                IN   NUMBER,
-
 
11272
      username                 IN   VARCHAR2
-
 
11273
   )
-
 
11274
      RETURN NUMBER
-
 
11275
   IS
-
 
11276
      pkgid                           NUMBER;
-
 
11277
      pvid                            NUMBER                        := 0;
-
 
11278
      userid                          NUMBER;
-
 
11279
      dlocked                         VARCHAR2 (20)                 := NULL;
-
 
11280
      clonefrompvid                   NUMBER;
-
 
11281
      ssv_mm                          package_versions.v_mm%TYPE;
-
 
11282
      ssv_nmm                         package_versions.v_nmm%TYPE;
-
 
11283
      ssv_ext                         package_versions.v_ext%TYPE;
-
 
11284
      return_package_not_found        NUMBER                        := -1;
-
 
11285
      return_package_already_exists   NUMBER                        := -2;
-
 
11286
      return_not_approved             NUMBER                        := -3;
-
 
11287
      return_migrated_pkg             NUMBER                        := -4;
-
 
11288
      return_svn_path_changed         NUMBER                        := -5;
-
 
11289
 
-
 
11290
 
-
 
11291
      x_vcstypeid                     NUMBER;
-
 
11292
      x_tag                           VARCHAR2(32);
-
 
11293
      x_label                         VARCHAR2(60);
-
 
11294
      x_srcpath                       VARCHAR2(2000);
-
 
11295
      p_srcpath                       VARCHAR2(2000);
-
 
11296
 
-
 
11297
      -- Regular expression constituents
-
 
11298
      Token         VARCHAR2(16) := '([^:]+)';  -- a token is anything except a ':' character
-
 
11299
      Seperator     VARCHAR2(4)  := '::';       -- tokens will be seperated by '::'
-
 
11300
      BOL           VARCHAR2(4)  := '^';
-
 
11301
      Anything      VARCHAR2(4)  := '.*';
-
 
11302
      ReplaceToken1 VARCHAR2(4)  := '\1';
-
 
11303
      ReplaceToken2 VARCHAR2(4)  := '\2';
-
 
11304
      ReplaceToken3 VARCHAR2(4)  := '\3';
-
 
11305
      iprev_modifier_id               NUMBER;
-
 
11306
 
-
 
11307
   BEGIN
-
 
11308
      /*--------------- Business Rules Here -------------------*/
-
 
11309
      IF (rtagid IS NULL)
-
 
11310
      THEN
-
 
11311
         raise_application_error (-20000, 'RtagId must be supplied.');
-
 
11312
      END IF;
-
 
11313
 
-
 
11314
      IF (pkgname IS NULL)
-
 
11315
      THEN
-
 
11316
         raise_application_error (-20000, 'PkgName must be supplied.');
-
 
11317
      END IF;
-
 
11318
 
-
 
11319
      IF (newpkgversion IS NULL)
-
 
11320
      THEN
-
 
11321
         raise_application_error (-20000, 'PkgVersion must be supplied.');
-
 
11322
      END IF;
-
 
11323
 
-
 
11324
      IF (vcstag IS NULL)
-
 
11325
      THEN
-
 
11326
         raise_application_error (-20000, 'PkgVcsTag must be supplied.');
-
 
11327
      END IF;
-
 
11328
 
-
 
11329
      IF (isrippled IS NULL) OR (isrippled < 0) OR (isrippled > 1)
-
 
11330
      THEN
-
 
11331
         raise_application_error (-20000, 'IsRippled must be set to 1 (Is rippled build) or 0 (Is planned build).');
-
 
11332
      END IF;
-
 
11333
 
-
 
11334
      IF (username IS NULL)
-
 
11335
      THEN
-
 
11336
         raise_application_error (-20000, 'UserName must be supplied.');
-
 
11337
      END IF;
-
 
11338
 
-
 
11339
      -- Parse the PkgVcsTag
-
 
11340
      -- Sets up
-
 
11341
      --   x_tag, x_label, x_srcpath
-
 
11342
 
-
 
11343
       BEGIN
-
 
11344
          -- Extract the first token - this will be the short tag name for the VCS (eg. 'CC', 'SVN', etc)
-
 
11345
          x_tag := REGEXP_REPLACE(vcstag, BOL || Token || Seperator || Anything, ReplaceToken1);
-
 
11346
 
-
 
11347
          -- Decode the short tag
-
 
11348
          CASE x_tag
-
 
11349
             WHEN 'CC' THEN
-
 
11350
                -- extract the 2nd and 3rd tokens, those being the source path and label respectively
-
 
11351
                x_srcpath := REGEXP_REPLACE(vcstag, BOL || Token || Seperator || Token || Seperator || Anything, ReplaceToken2);
-
 
11352
                x_label   := REGEXP_REPLACE(vcstag, BOL || Token || Seperator || Token || Seperator || Token, ReplaceToken3);
-
 
11353
 
-
 
11354
                -- NOTE: if reg-expr parsing/replacement fails, the x_... variable may receive the entire input string (vcstag), so
-
 
11355
                -- check for that error as well as the obvious zero-length string conditions.
-
 
11356
                IF LENGTH(x_srcpath) = 0 OR LENGTH(x_label) = 0 OR x_srcpath = vcstag OR x_label = vcstag THEN
-
 
11357
                   raise_application_error (-20000, 'VCS Tag contains insufficient or malformed data!');
-
 
11358
                END IF;
-
 
11359
                
-
 
11360
                IF isSVNbyName(pkgname) > 0 THEN
-
 
11361
                    -- Don't allow migrated packages to be released from a CC label
-
 
11362
                    return return_migrated_pkg;
-
 
11363
                END IF;
-
 
11364
 
-
 
11365
 
-
 
11366
             WHEN 'SVN' THEN
-
 
11367
                -- extract the 2nd token, that being the subversion tag
-
 
11368
                x_srcpath := REGEXP_REPLACE(vcstag, BOL || Token || Seperator || Token || Seperator || Anything, ReplaceToken2);
-
 
11369
                x_label   := REGEXP_REPLACE(vcstag, BOL || Token || Seperator || Token || Seperator || Token, ReplaceToken3);
-
 
11370
 
-
 
11371
                -- NOTE: if reg-expr parsing/replacement fails, the x_... variable may receive the entire input string (vcstag), so
-
 
11372
                -- check for that error as well as the obvious zero-length string conditions.
-
 
11373
                IF LENGTH(x_srcpath) = 0 OR LENGTH(x_label) = 0 OR x_srcpath = vcstag OR x_label = vcstag THEN
-
 
11374
                   raise_application_error (-20000, 'VCS Tag contains insufficient or malformed data!');
-
 
11375
                END IF;
-
 
11376
 
-
 
11377
             WHEN 'UC' THEN
-
 
11378
                -- nothing to extract, just assign defaults
-
 
11379
                x_srcpath := REGEXP_REPLACE(vcstag, BOL || Token || Seperator || Token || Seperator || Anything, ReplaceToken2);
-
 
11380
                x_label   := 'N/A';
-
 
11381
             ELSE
-
 
11382
                raise_application_error (-20000, 'Unrecognised VCS Tag!');
-
 
11383
          END CASE;
-
 
11384
       END;
-
 
11385
 
-
 
11386
      -- Get the VCS_TYPE_ID for the version control system.
-
 
11387
      BEGIN
-
 
11388
         SELECT vt.vcs_type_id
-
 
11389
         INTO x_vcstypeid
-
 
11390
         FROM VCS_TYPE vt
-
 
11391
         WHERE vt.tag = x_tag;
-
 
11392
         EXCEPTION
-
 
11393
            WHEN NO_DATA_FOUND THEN
-
 
11394
               raise_application_error (-20000, 'Database is missing a version control system tag (' || x_tag || ')!' );
-
 
11395
      END;
-
 
11396
 
-
 
11397
 
-
 
11398
      -- Get user_id
-
 
11399
      BEGIN
-
 
11400
         SELECT usr.user_id
-
 
11401
           INTO userid
-
 
11402
           FROM users usr
-
 
11403
          WHERE UPPER (usr.user_name) = UPPER (username)
-
 
11404
            AND usr.is_disabled IS NULL;
-
 
11405
      EXCEPTION
-
 
11406
         WHEN NO_DATA_FOUND
-
 
11407
         THEN
-
 
11408
            raise_application_error (-20000,
-
 
11409
                                        'UserName: '
-
 
11410
                                     || username
-
 
11411
                                     || ' is not valid or disabled.'
-
 
11412
                                    );
-
 
11413
      END;
-
 
11414
 
-
 
11415
/*----------------------------------------------------------------------------*/
-
 
11416
      -- Create package if necessary
-
 
11417
      IF isrippled = 1
-
 
11418
      THEN
-
 
11419
         /* Ripple Build */
-
 
11420
         BEGIN
-
 
11421
            -- Make sure that the named version does not exist
-
 
11422
            SELECT pv.pv_id
-
 
11423
              INTO pvid
-
 
11424
              FROM package_versions pv, PACKAGES pkg
-
 
11425
             WHERE pv.pkg_id = pkg.pkg_id
-
 
11426
               AND pkg.pkg_name = pkgname
-
 
11427
               AND pv.pkg_version = newpkgversion;
-
 
11428
         EXCEPTION
-
 
11429
            WHEN NO_DATA_FOUND
-
 
11430
            THEN
-
 
11431
               pvid := 0;
-
 
11432
         END;
-
 
11433
 
-
 
11434
         IF (pvid = 0)
-
 
11435
         THEN
-
 
11436
 
-
 
11437
            BEGIN
-
 
11438
               -- Find package to be replaced with the ripple package
-
 
11439
               SELECT pv.pv_id, pv.src_path
-
 
11440
                 INTO clonefrompvid, p_srcpath
-
 
11441
                 FROM PACKAGES pkg, package_versions pv,
-
 
11442
                      release_content rc
-
 
11443
                WHERE rc.pv_id = pv.pv_id
-
 
11444
                  AND pv.pkg_id = pkg.pkg_id
-
 
11445
                  AND rc.rtag_id = rtagid
-
 
11446
                  AND pkg.pkg_name = pkgname
-
 
11447
                  AND NVL (pv.v_ext, '|LINK_A_NULL|') = NVL (vext, '|LINK_A_NULL|');
-
 
11448
            EXCEPTION
-
 
11449
               WHEN NO_DATA_FOUND
-
 
11450
               THEN
-
 
11451
                  raise_application_error
-
 
11452
                                        (-20000,
-
 
11453
                                            'Cannot get CloneFromPvId. VExt='
-
 
11454
                                         || vext
-
 
11455
                                         || ', RtagId='
-
 
11456
                                         || rtagid
-
 
11457
                                         || ', PkgName='
-
 
11458
                                         || pkgname
-
 
11459
                                        );
-
 
11460
            END;
-
 
11461
 
-
 
11462
              -- Ensure Source Path does not change
-
 
11463
              --    Ripple:   Will only change if the labeling process is messed up
-
 
11464
              --
-
 
11465
              IF ( x_tag = 'SVN' AND p_srcpath != x_srcpath )
-
 
11466
              THEN
-
 
11467
                return return_svn_path_changed;
-
 
11468
              END IF;
-
 
11469
 
-
 
11470
            -- Create new Package Version, based on existing package
-
 
11471
            seed_package_names_versions (pkgname,
-
 
11472
                                         newpkgversion,
-
 
11473
                                         userid,
-
 
11474
                                         pvid,
-
 
11475
                                         clonefrompvid
-
 
11476
                                        );
-
 
11477
 
-
 
11478
             -- Insert new Version into the 'Planned' tab of the Release
-
 
11479
             PK_PLANNED.ADD_RIPPLE_PACKAGE ( pvid, clonefrompvid , rtagid, userid );
-
 
11480
 
-
 
11481
            -- Update Package reason for release
-
 
11482
            -- Force to be Approved for Autobuild - will control visability inn Pending Tab
-
 
11483
            UPDATE package_versions pv
-
 
11484
               SET pv.comments = 'Rippled Build.',
-
 
11485
                   pv.build_type = 'Y',
-
 
11486
                   pv.dlocked = 'A'
-
 
11487
             WHERE pv.pv_id = pvid;
-
 
11488
             
-
 
11489
 
-
 
11490
         ELSE   -- PVID != 0. 
-
 
11491
            --
-
 
11492
            -- Package already exists, it was built previously, and has just been re-built again probably due to the
-
 
11493
            -- fact that the archive was cleaned of the original build artifacts at some point, and those artifacts
-
 
11494
            -- are now needed once more. As such, we need to ensure that a new release note generation occurs so
-
 
11495
            -- reset the package_versions[pvid].release_notes_info field to enable that to happen.
-
 
11496
            UPDATE package_versions pv
-
 
11497
               SET pv.release_notes_info = null,
-
 
11498
                   pv.modified_stamp = ora_sysdatetime
-
 
11499
             WHERE pv.pv_id = pvid;
-
 
11500
 
-
 
11501
            --DEVI-066151
-
 
11502
            log_action (pvid, 'package_rebuilt', userid, 'Package Re-built...');
-
 
11503
 
-
 
11504
            RETURN return_package_already_exists;
-
 
11505
         END IF;
-
 
11506
 
-
 
11507
      -- -----------------------------------------------------------------------
-
 
11508
      --    Package is NOT a ripple
-
 
11509
      --    Package is a planned release
-
 
11510
      --    Package MUST exist in the Pending Area
-
 
11511
      --
-
 
11512
      ELSE
-
 
11513
         -- Find package in pending area
-
 
11514
         BEGIN
-
 
11515
            SELECT pv.pv_id, pv.dlocked, pv.src_path
-
 
11516
              INTO pvid, dlocked, p_srcpath
-
 
11517
              FROM planned pl, package_versions pv, PACKAGES pkg
-
 
11518
             WHERE pl.pv_id = pv.pv_id
-
 
11519
               AND pv.pkg_id = pkg.pkg_id
-
 
11520
               AND pl.rtag_id = rtagid
-
 
11521
               AND pkg.pkg_name = pkgname
-
 
11522
               AND pv.dlocked = 'A'
-
 
11523
               AND NVL (pv.v_ext, '|LINK_A_NULL|') = NVL (vext, '|LINK_A_NULL|')
-
 
11524
               AND rownum = 1
-
 
11525
             ORDER BY pv.modified_stamp;
-
 
11526
         EXCEPTION
-
 
11527
            WHEN NO_DATA_FOUND
-
 
11528
            THEN
-
 
11529
               pvid := 0;
-
 
11530
         END;
-
 
11531
 
-
 
11532
         IF (pvid = 0)
-
 
11533
         THEN
-
 
11534
            -- Package does not exist in pending area, hence report it
-
 
11535
            -- It may have been reject while were building it
-
 
11536
            RETURN return_package_not_found;
-
 
11537
         END IF;
-
 
11538
 
-
 
11539
         IF (dlocked != 'A')
-
 
11540
         THEN
-
 
11541
            -- Package is not approved for autobuild
-
 
11542
            -- Will no longer get here, due to check in the previous select
-
 
11543
            -- This is intentional. We need the force approved package
-
 
11544
            RETURN return_not_approved;
-
 
11545
         END IF;
-
 
11546
 
-
 
11547
          -- Ensure Source Path does not change
-
 
11548
          -- Do not expect the SVN development branch to change from the previous version
-
 
11549
          --    Planned:  Will only change if user has incorrect metadata
-
 
11550
          --
-
 
11551
          IF ( x_tag = 'SVN' AND p_srcpath != x_srcpath )
-
 
11552
          THEN
-
 
11553
            return return_svn_path_changed;
-
 
11554
          END IF;
-
 
11555
 
-
 
11556
      END IF;
-
 
11557
 
-
 
11558
      -- ----------------------------------------------------------------------
-
 
11559
      -- Common Processing for ripple and planned(non-ripple) builds
-
 
11560
      --
-
 
11561
 
-
 
11562
      BEGIN
-
 
11563
         -- Import Dependencies
-
 
11564
         import_dependencies (pvid, dependenciesimportlist, userid);
-
 
11565
      END;
-
 
11566
 
-
 
11567
      BEGIN
-
 
11568
         -- Split current version in parts
-
 
11569
         split_version (newpkgversion, ssv_mm, ssv_nmm, ssv_ext);
-
 
11570
 
-
 
11571
         -- Update Package Details
-
 
11572
         UPDATE package_versions pv
-
 
11573
            SET pv.pkg_version = newpkgversion,
-
 
11574
                pv.v_ext = ssv_ext,
-
 
11575
                pv.v_mm = ssv_mm,
-
 
11576
                pv.v_nmm = ssv_nmm,
-
 
11577
                pv.src_path = x_srcpath,
-
 
11578
                pv.pkg_label = x_label,
-
 
11579
                pv.vcs_type_id = x_vcstypeid
-
 
11580
          WHERE pv.pv_id = pvid;
-
 
11581
      EXCEPTION
-
 
11582
         WHEN DUP_VAL_ON_INDEX
-
 
11583
         THEN
-
 
11584
            -- Package already exists, hence cannot be used for ripple build
-
 
11585
            RETURN return_package_already_exists;
-
 
11586
      END;
-
 
11587
 
-
 
11588
      -- Update the is_autobuildable
-
 
11589
      UPDATE package_versions
-
 
11590
         SET is_autobuildable = 'Y'
-
 
11591
       WHERE pv_id = pvid;
-
 
11592
 
-
 
11593
 
-
 
11594
      -- DEVI-063601
-
 
11595
      -- For planned builds the modifier_id shouldn't be set to buildadm.
-
 
11596
      -- The auto_make_release() will set it to the 'buildadm' 
-
 
11597
      -- Save and restore the modifier_id
-
 
11598
 
-
 
11599
      -- SELECT pv.modifier_id INTO iprev_modifier_id
-
 
11600
      -- FROM package_versions pv WHERE pv.pv_id = pvid;
-
 
11601
 
-
 
11602
      -- Now release package
-
 
11603
      -- pk_environment.auto_make_release (pvid,
-
 
11604
      --                                  rtagid,
-
 
11605
      --                                  userid,
-
 
11606
      --                                  vext,
-
 
11607
      --                                  ssv_ext,
-
 
11608
      --                                  clonefrompvid
-
 
11609
      --                                 );
-
 
11610
 
-
 
11611
      -- DEVI-063601
-
 
11612
      -- if it is a planned build then restore the modifier_id to the previous modifier
-
 
11613
      -- UPDATE package_versions pv SET pv.modifier_id = iprev_modifier_id
-
 
11614
      -- WHERE pv.pv_id = pvid;
-
 
11615
 
-
 
11616
      --Now clean the PLANNED_VERSIONS table
-
 
11617
      SELECT pkg_id
-
 
11618
        INTO pkgid
-
 
11619
        FROM PACKAGES
-
 
11620
       WHERE pkg_name = pkgname;
-
 
11621
 
-
 
11622
      DELETE FROM planned_versions
-
 
11623
            WHERE pkg_id = pkgid AND pkg_version = newpkgversion;
-
 
11624
 
-
 
11625
      RETURN pvid;
-
 
11626
   END;
-
 
11627
 
11012
/*-------------------------------------------------------------------------------------------------------*/
11628
/*-------------------------------------------------------------------------------------------------------*/
11013
   PROCEDURE import_dependencies (
11629
   PROCEDURE import_dependencies (
11014
      pvid                     IN   NUMBER,
11630
      pvid                     IN   NUMBER,
11015
      dependenciesimportlist   IN   VARCHAR2,
11631
      dependenciesimportlist   IN   VARCHAR2,
11016
      userid                   IN   NUMBER
11632
      userid                   IN   NUMBER
Line 15728... Line 16344...
15728
--  DDL for Procedure SEED_PACKAGE_NAMES_VERSIONS
16344
--  DDL for Procedure SEED_PACKAGE_NAMES_VERSIONS
15729
--------------------------------------------------------
16345
--------------------------------------------------------
15730
set define off;
16346
set define off;
15731
 
16347
 
15732
  CREATE OR REPLACE PROCEDURE "SEED_PACKAGE_NAMES_VERSIONS" ( SSpkg_name IN PACKAGES.pkg_name%TYPE,
16348
  CREATE OR REPLACE PROCEDURE "SEED_PACKAGE_NAMES_VERSIONS" ( SSpkg_name IN PACKAGES.pkg_name%TYPE,
15733
                                                          SSpkg_version IN PACKAGE_VERSIONS.pkg_version%TYPE,
16349
                                          SSpkg_version IN PACKAGE_VERSIONS.pkg_version%TYPE,
15734
                                                          NNuser_id IN NUMBER,
16350
                                          NNuser_id IN NUMBER,
15735
                                                          retPV_ID OUT NUMBER,
16351
                                          retPV_ID OUT NUMBER,
15736
                                                          nCloneFromPvId IN NUMBER DEFAULT NULL,
16352
                                          nCloneFromPvId IN NUMBER DEFAULT NULL,
15737
                                                          nBuildType IN CHAR DEFAULT 'M',
16353
                                          nBuildType IN CHAR DEFAULT 'M',
15738
                                                          nChangeType IN CHAR DEFAULT 'F') IS
16354
                                          nChangeType IN CHAR DEFAULT 'F') IS
15739
/* ---------------------------------------------------------------------------
16355
/* ---------------------------------------------------------------------------
15740
    Version: 4.0
16356
    Version: 4.0
15741
   --------------------------------------------------------------------------- */
16357
   --------------------------------------------------------------------------- */
15742
 
16358
 
15743
    parPkg_id   NUMBER;
16359
    parPkg_id   NUMBER;
Line 15810... Line 16426...
15810
        /* LOG ACTION */
16426
        /* LOG ACTION */
15811
        Log_Action ( parPv_id, 'new_version', NNuser_id,
16427
        Log_Action ( parPv_id, 'new_version', NNuser_id,
15812
                     'New package version: '|| spackageversion );
16428
                     'New package version: '|| spackageversion );
15813
 
16429
 
15814
        
16430
        
15815
        /* Find similar pkg_name + ext to clone from */
16431
        /*  Determine clone source for new package-version
15816
        OPEN clone_package_versions_cur;
16432
            Use nCloneFromPvId - iff provided
-
 
16433
            Use most recently created pkgName/pkgExtension - if it exists
15817
        FETCH clone_package_versions_cur INTO clone_package_versions_rec;
16434
            Else create a brand new package-version
-
 
16435
        */
15818
 
16436
 
-
 
16437
        IF ( NOT nCloneFromPvId IS NULL) THEN
-
 
16438
            cloneFrom_pv_id := nCloneFromPvId;
-
 
16439
        ELSE
-
 
16440
            /* Find similar pkg_name + ext to clone from */
-
 
16441
            OPEN clone_package_versions_cur;
-
 
16442
            FETCH clone_package_versions_cur INTO clone_package_versions_rec;
-
 
16443
            CLOSE clone_package_versions_cur;
15819
 
16444
 
15820
        IF NOT clone_package_versions_rec.pv_id IS NULL
16445
            IF ( NOT clone_package_versions_rec.pv_id IS NULL) THEN
15821
        THEN
-
 
15822
            /* CLONE details from similar version  OR  from nCloneFromPvId */
-
 
15823
            IF ( NOT nCloneFromPvId IS NULL) THEN
-
 
15824
                cloneFrom_pv_id := nCloneFromPvId;
-
 
15825
            ELSE
-
 
15826
                cloneFrom_pv_id := clone_package_versions_rec.pv_id;
16446
                cloneFrom_pv_id := clone_package_versions_rec.pv_id;
-
 
16447
            ELSE
-
 
16448
                cloneFrom_pv_id := NULL;
15827
            END IF;
16449
            END IF;
15828
 
16450
 
-
 
16451
        END IF;
-
 
16452
 
-
 
16453
        IF NOT cloneFrom_pv_id IS NULL
-
 
16454
        THEN
15829
            -- Clone Package Version Details --
16455
            -- Clone Package Version Details --
15830
            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,
16456
            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,
15831
                                           src_path, pv_description, PV_OVERVIEW, LAST_PV_ID, owner_id, BUILD_TYPE, IS_BUILD_ENV_REQUIRED, bs_id, is_autobuildable, is_deployable, ripple_field,change_type  )
16457
                                           src_path, pv_description, PV_OVERVIEW, LAST_PV_ID, owner_id, BUILD_TYPE, IS_BUILD_ENV_REQUIRED, bs_id, is_autobuildable, is_deployable, ripple_field,change_type  )
15832
                SELECT parPv_id         AS pv_id,
16458
                SELECT parPv_id         AS pv_id,
15833
                       parPkg_id        AS pkg_id,
16459
                       parPkg_id        AS pkg_id,
Line 15876... Line 16502...
15876
                    parPv_id,
16502
                    parPv_id,
15877
                    nBuildType,
16503
                    nBuildType,
15878
                    'b',
16504
                    'b',
15879
                    nChangeType
16505
                    nChangeType
15880
                   );
16506
                   );
15881
 
-
 
15882
        END IF;
16507
        END IF;
15883
 
16508
 
15884
        /* Insert initial package label */
16509
        /* Insert initial package label */
15885
        slabel := get_automated_label (parPv_id);
16510
        slabel := get_automated_label (parPv_id);
15886
        UPDATE package_versions pv
16511
        UPDATE package_versions pv
15887
        SET pv.pkg_label = slabel
16512
        SET pv.pkg_label = slabel
15888
        WHERE pv.pv_id = parPv_id;
16513
        WHERE pv.pv_id = parPv_id;
15889
 
16514
 
15890
        CLOSE clone_package_versions_cur;
-
 
15891
        retPV_ID := parPv_id;
16515
        retPV_ID := parPv_id;
15892
 
16516
 
15893
    ELSE
16517
    ELSE
15894
        retPV_ID := package_versions_rec.pv_id;
16518
        retPV_ID := package_versions_rec.pv_id;
15895
 
16519
 
Line 15901... Line 16525...
15901
 
16525
 
15902
/
16526
/
15903
 
16527
 
15904
/
16528
/
15905
--------------------------------------------------------
16529
--------------------------------------------------------
15906
--  DDL for Procedure SEED_PACKAGE_NAMES_VERSIONS2
-
 
15907
--------------------------------------------------------
-
 
15908
set define off;
-
 
15909
 
-
 
15910
  CREATE OR REPLACE PROCEDURE "SEED_PACKAGE_NAMES_VERSIONS2" ( SSpkg_name IN PACKAGES.pkg_name%TYPE,
-
 
15911
                                                          SSpkg_version IN PACKAGE_VERSIONS.pkg_version%TYPE,
-
 
15912
                                                          NNuser_id IN NUMBER,
-
 
15913
                                                          retPV_ID OUT NUMBER,
-
 
15914
														  nCloneFromPvId IN NUMBER DEFAULT NULL ) IS
-
 
15915
/* ---------------------------------------------------------------------------
-
 
15916
    Version: 4.0
-
 
15917
   --------------------------------------------------------------------------- */
-
 
15918
 
-
 
15919
    parPkg_id   NUMBER;
-
 
15920
    parPv_id    NUMBER;
-
 
15921
    cloneFrom_pv_id NUMBER;
-
 
15922
    SSV_MM PACKAGE_VERSIONS.V_MM%TYPE;
-
 
15923
    SSV_NMM PACKAGE_VERSIONS.V_NMM%TYPE;
-
 
15924
    SSV_EXT PACKAGE_VERSIONS.V_EXT%TYPE;
-
 
15925
 
-
 
15926
    CURSOR packages_cur IS
-
 
15927
        SELECT pkg_id FROM PACKAGES
-
 
15928
        WHERE pkg_name = SSpkg_name;
-
 
15929
    packages_rec packages_cur%ROWTYPE;
-
 
15930
 
-
 
15931
    CURSOR package_versions_cur IS
-
 
15932
        SELECT pv_id FROM PACKAGE_VERSIONS
-
 
15933
        WHERE pkg_id = parPkg_id
-
 
15934
        AND pkg_version = SSpkg_version;
-
 
15935
    package_versions_rec package_versions_cur%ROWTYPE;
-
 
15936
 
-
 
15937
    CURSOR clone_package_versions_cur IS
-
 
15938
        SELECT MAX(pv_id) AS pv_id
-
 
15939
          FROM PACKAGE_VERSIONS
-
 
15940
         WHERE pkg_id = parPkg_id
-
 
15941
           AND NVL(v_ext,'LINK_A_NULL') = NVL(SSV_EXT,'LINK_A_NULL');
-
 
15942
    clone_package_versions_rec clone_package_versions_cur%ROWTYPE;
-
 
15943
 
-
 
15944
BEGIN
-
 
15945
    /* -------------------------------------------- */
-
 
15946
    /* Find if pkg_name exists and seed if required */
-
 
15947
    /* -------------------------------------------- */
-
 
15948
    OPEN packages_cur;
-
 
15949
    FETCH packages_cur INTO packages_rec;
-
 
15950
 
-
 
15951
    IF packages_cur%NOTFOUND
-
 
15952
    THEN
-
 
15953
        /* INSERT into packages table */
-
 
15954
        SELECT SEQ_PKG_ID.NEXTVAL INTO parPkg_id FROM DUAL;
-
 
15955
        INSERT INTO PACKAGES ( pkg_id, pkg_name ) VALUES ( parPkg_id, SSpkg_name );
-
 
15956
 
-
 
15957
    ELSE
-
 
15958
        parPkg_id := packages_rec.pkg_id;
-
 
15959
 
-
 
15960
    END IF;
-
 
15961
 
-
 
15962
    CLOSE packages_cur;
-
 
15963
 
-
 
15964
 
-
 
15965
 
-
 
15966
    /* ---------------------------------------------------- */
-
 
15967
    /* Find if package_version exists and seed if required  */
-
 
15968
    /* ---------------------------------------------------- */
-
 
15969
    OPEN package_versions_cur;
-
 
15970
    FETCH package_versions_cur INTO package_versions_rec;
-
 
15971
 
-
 
15972
    IF package_versions_cur%NOTFOUND
-
 
15973
    THEN
-
 
15974
        SELECT SEQ_PV_ID.NEXTVAL INTO parPv_id FROM DUAL;
-
 
15975
 
-
 
15976
        /* LOG ACTION */
-
 
15977
        Log_Action ( parPv_id, 'new_version', NNuser_id,
-
 
15978
        			 'New package version: '|| SSpkg_version );
-
 
15979
 
-
 
15980
        Split_Version ( SSpkg_version, SSV_MM, SSV_NMM, SSV_EXT );
-
 
15981
 
-
 
15982
 
-
 
15983
 
-
 
15984
 
-
 
15985
 
-
 
15986
            /* CLONE details from similar version  OR  from nCloneFromPvId */
-
 
15987
			IF ( NOT nCloneFromPvId IS NULL) THEN
-
 
15988
            	cloneFrom_pv_id := nCloneFromPvId;
-
 
15989
			ELSE
-
 
15990
				cloneFrom_pv_id := clone_package_versions_rec.pv_id;
-
 
15991
			END IF;
-
 
15992
 
-
 
15993
            -- Clone Package Version Details --
-
 
15994
            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,
-
 
15995
                                           src_path, pv_description, PV_OVERVIEW, LAST_PV_ID, owner_id, BUILD_TYPE, IS_BUILD_ENV_REQUIRED, bs_id, is_autobuildable, is_deployable, ripple_field )
-
 
15996
                SELECT parPv_id         AS pv_id,
-
 
15997
                       parPkg_id        AS pkg_id,
-
 
15998
                       SSpkg_version    AS pkg_version,
-
 
15999
                       'N'              AS dlocked,
-
 
16000
                       Ora_Sysdate      AS created_stamp,
-
 
16001
                       NNuser_id        AS creator_id,
-
 
16002
                       Ora_Sysdatetime  AS modified_stamp,
-
 
16003
                       NNuser_id        AS modifier_id,
-
 
16004
                       SSV_MM           AS V_MM,
-
 
16005
                       SSV_NMM          AS V_NMM,
-
 
16006
                       SSV_EXT          AS V_EXT,
-
 
16007
                       pv.src_path,
-
 
16008
                       pv.pv_description,
-
 
16009
                       pv.PV_OVERVIEW,
-
 
16010
                       cloneFrom_pv_id 	AS LAST_PV_ID,
-
 
16011
                       pv.owner_id,
-
 
16012
					   pv.BUILD_TYPE,
-
 
16013
					   pv.IS_BUILD_ENV_REQUIRED,
-
 
16014
					   pv.bs_id,
-
 
16015
					   pv.is_autobuildable,
-
 
16016
					   pv.IS_DEPLOYABLE,
-
 
16017
					   pv.ripple_field
-
 
16018
                  FROM PACKAGE_VERSIONS pv
-
 
16019
                 WHERE pv.pv_id = cloneFrom_pv_id;
-
 
16020
 
-
 
16021
            Basic_Clone ( cloneFrom_pv_id, parPv_id, NULL, NNuser_id, parPkg_id, 0 );
-
 
16022
 
-
 
16023
        retPV_ID := parPv_id;
-
 
16024
 
-
 
16025
    ELSE
-
 
16026
        retPV_ID := package_versions_rec.pv_id;
-
 
16027
 
-
 
16028
    END IF;
-
 
16029
 
-
 
16030
    CLOSE package_versions_cur;
-
 
16031
 
-
 
16032
 
-
 
16033
 
-
 
16034
 
-
 
16035
END Seed_Package_Names_Versions2;
-
 
16036
 
-
 
16037
/
-
 
16038
 
-
 
16039
/
-
 
16040
--------------------------------------------------------
-
 
16041
--  DDL for Procedure SET_ADVISORY_RIPPLE
16530
--  DDL for Procedure SET_ADVISORY_RIPPLE
16042
--------------------------------------------------------
16531
--------------------------------------------------------
16043
set define off;
16532
set define off;
16044
 
16533
 
16045
  CREATE OR REPLACE PROCEDURE "SET_ADVISORY_RIPPLE" ( nPvId IN PACKAGE_VERSIONS.PV_ID%TYPE,
16534
  CREATE OR REPLACE PROCEDURE "SET_ADVISORY_RIPPLE" ( nPvId IN PACKAGE_VERSIONS.PV_ID%TYPE,