ALM Site Administration API Type Library
CreateProjectCopy Method
Creates a new project by copying some, or all, data and properties from an existing project.
Visual Basic
Public Function CreateProjectCopy( _
   ByVal DomainName As String, _
   ByVal NewProjectName As String, _
   ByVal NewDbType As Integer, _
   ByVal SourceDomainName As String, _
   ByVal SourceProjectName As String, _
   ByVal DbServerName As String, _
   ByVal AdminUser As String, _
   ByVal AdminPassword As String, _
   ByVal TableSpace As String, _
   ByVal TempTableSpace As String, _
   ByVal TableSpaceSize As Long, _
   ByVal TempTableSpaceSize As Long, _
   ByVal CopyOptions As Long, _
   ByVal CreationOptions As Long _
) As String
The domain of the new project.
The new project name.

The type of database. Use the following constants or their values:

  • SA_MSSQL_DB_TYPE (value: 2)
  • SA_ORACLE_DB_TYPE (value: 3).
The domain of the existing project.
The name of the existing project.
The database server name.
The database administrator user name.
The database administrator password.
Storage on disk of Oracle database tables. If not Oracle, pass empty string ("").
Temporary storage location on disk for Oracle. If not Oracle, pass empty string ("").
No longer in use. Pass zero (0).
No longer in use. Pass zero (0).

Specifies flags that control project creation. Flags can be ORed together to specify multiply options.

Use the values from the SA_COPY_PROJECT_OPTIONS Enumeration.


Specifies flags that control project creation. Flags can be ORed together to specify multiply options. Use the values from the SA_PROJECT_CREATION_OPTIONS Enumeration.

Return Type

On success, returns an XML string containing the project properties.

The source project must be deactivated before this function is called.
Return Value Details

The properties of the XML return string:

  • PROJECT_ID    -    The ID number of the project.
  • PROJECT_NAME    -    The project name.
  • DESCRIPTION    -    The project description.
  • DOMAIN_ID    -    The domain ID number.
  • DOMAIN_NAME    -    The domain name.
  • DB_NAME    -    The database name.
  • DB_TYPE    -    The database type number: MS SQL (2), Oracle (3).
  • CREATE_FROM_PROJECT    -    The source project of the created project.
  • CREATE_FROM_DOMAIN    -    The source domain of the created project.
  • PHYSICAL_DIRECTORY    -    The physical directory of the project.
  • DB_NATIVE_AUTHENTICATION    -    Indicates if user login is handled by the operating system (MS_SQL Windows Authentication). If 'N', the authentication is handled explicitly using the user name and password.
  • DB_USER    -    The database administrator user name.
  • DB_USER_PASS    -    The database administrator password.
  • DBSERVER_NAME    -    The database server name.
  • DBCONNSTR_FORMAT    -    The database connection string.
  • DB_ENCRYPTED_CONNSTR    -    For internal use.
  • DB_DRIVER_CLASS_NAME    -   The name of the database manager connection class (JDBC driver class). 
  • PR_EXCEPTION_FILE - The pathname of the file that defines errors that the verify process ignores.
  • PROJECT_VERSION    -   The ALM version. 
  • PR_IS_ACTIVE    -    Indicates if the project is active (Y/N).
  • SAQ_IS_ACTIVE    -    Indicates if SEND ALL QUALIFIED is active (Y/N).
  • PR_IS_QPM_AUTO_CALC_ENABLED - Automatic KPI calculation is enabled (Y/N).
  • PR_HAS_VCSDB    -    Indicates if the project includes version control: (Y)es, (N)o, (D)isabled. This field appears only if version control is available.
  • USERS_QUOTA    -    The maximum number of concurrent connections. -1 indicates an unlimited number of connections.
  • PR_LANGUAGE    -    The search language.
  • PROJECT_TYPE - The type of project.
  • IS_TEMPLATE - Indicates whether this is a template project (Y/N).
  • PROJECT_UID - The project ID.
  • PR_SMART_REPOSITORY_ENABLED - One of: NO - not a smart repository; YES - smart repository; PENDING - offline migration completed and waiting for online migration; MIGRATING - online migration in progress.
  • PR_SR_GC_STATUS - Optimized repository garbage collection status.
  • PR_SR_GC_LAST_RUN_TIME - Optimized repository garbage collection last run time.
Private Sub CreateProjectCopy()
'The following Visual Basic example creates a new project
' in an existing domain by copying the customization
' requirements and users from an existing project.

    Dim sDomainName As String
    Dim sNewProjectName As String
    Dim sProjectName As String
    Dim sServerName As String
    Dim CreateOptions As Long
    Dim CopyOptions As Long
    Dim sReply As String

    On Error GoTo err
    sDomainName = "MyNewDomain"
    sNewProjectName = "MyBrandNewProject"
    sProjectName = "MyNewProject"
    sServerName = "http://myserver/qcbin"

'Disconnect all users from Project
    Call m_SAClient.DisconnectProject _
        (sDomainName, sProjectName)

' Deactivate source project
    Call m_SAClient.DeactivateProject _
        (sDomainName, sProjectName)

' Copy from source project to new project
    sReply = m_SAClient.CreateProjectCopy _
        (sDomainName, sNewProjectName, SA_ORACLE_DB_TYPE, _
        sDomainName, sProjectName, _
        sServerName, "admin", "swordfish", _
        "", "", 0, 0, _
        CopyOptions, CreateOptions)
' Reactivate source project
    Call m_SAClient.ActivateProject _
        (sDomainName, sProjectName)
    MsgBox sReply
    Exit Sub

    MsgBox "Program failed:" + err.Description
End Sub
See Also