Please enable JavaScript to view this site.

QPR Knowledge Base 2023.1

  •      
  • Navigation: Developer's Guide > QPR API > The Object Model > QPR Modeling > PGModel Commands

    SaveModelEx

    Scroll Prev Top Next More

    Revision history:

    Introduced in QPR 8.1

    Last changed in QPR 2012.2

     

    Saves the current model to the server or to a file. In addition to regular saving, this command can be used to save the model as a new version, save the model to a branch, or replace a model.

     

    Synopsis:

     

    PGModel.SaveModelEx(Operation, Parameters)

     

    Parameters:

     

    Operation: String. Defines the save operation that is used. Supported operations:

    Save. Saves the current model to the server or to a file in the regular way. In the case the model has version management enabled, the behavior is as follows:

    o"Save changes to current version" option is set for the model: Changes are saved to the current version.

    o"Save as new model version" option is set for the model: The model is saved as a new version and the version info dialog is displayed. In the case user interface is hidden, the operation fails.

    o"Prompt" option is set for the model. A dialog asking whether the model should be saved as a new version is displayed. In the case user interface is hidden, the operation fails.

    SaveAs. Saves the model as a new server or file model. This can be used also to save a server model as a file model and vice versa. In the case the server model name already exists, this operation can be used to save the model as a new version. Supported parameters: ServerModelName, FileName, FileReplace, Password, NewVersion + optional version info parameters

    Replace. Replaces an existing server model with the current model. Functionality is otherwise similar to the ReplaceModel command. The following parameters can be used: ServerModelName, CopyUserRights + optional version info parameters.

    NewVersion. Saves the current model as a new version. Parameters can be used to define version information and branch.

    Parameters: String. A semicolon-separated list of parameters for the selected operation. Supported parameters:

    ServerModelName: String. Server path + model name.

    NewVersion: true | false. If this is true and a server model already exists, the model is saved as a new version.

    FileName: String. Path and name of a file model.

    FileReplace: true | false. Defines if a similarly named file model should be replaced.

    Password: String. File model password.

    CopyUserRights: true | false. Defines whether user rights are copied from latest model version in the target model or branch to current model. (Save as new version / Replace)

    Model.Branch: String.

    Model.Version: String.

    KeepOldVersionPublished: true | false. Defines whether the old version remains published in QPR Portal when the model is saved as a new version.

    LockOldVersion: true | false. Defines whether the old version is locked when the model is saved as a new version.

    Status: Integer (enum). Sets the model's version information Status as enumeration index value (integer). Default model enumerations: Draft = 0, Current State = 1, Proposal = 2, Approved = 3, Implemented = 4

    Author: String. Defines the model author (no connection to actual users)

    Comment: String. Comment for the model.

     

    Required Rights:

     

    View rights to PGModel.

     

    Return Values:

    Below are listed the return values that this function can return:

     

    RV_APPLICATION_QUIT_CALLED
    RV_MODEL_NOT_OPEN
    RV_INVALID_PARAMETER
    RV_NOT_CONNECTED_TO_SERVER
    RV_MODEL_DOES_NOT_USE_VERSION_MANAGEMENT
    RV_CANNOT_SAVE_AS_NEW_VERSION_MODEL_MUST_BE_SAVED_FIRST
    RV_CANNOT_SAVE_CHECKED_OUT_MODEL_AS_NEW_VERSION
    RV_NOT_ENOUGH_RIGHTS (only admins can set status & author in Save As/NewVersion operations)
    RV_FILE_ALREADY_EXISTS
    RV_ONLY_ADMINISTRATOR_CAN_SAVE_SERVER_MODEL_AS_FILE_MODEL
    RV_MODEL_DOES_NOT_EXIST
    RV_INVALID_MODEL_PATH
    RV_CANCELLED
    RV_BRANCH_DOES_NOT_EXIST
    RV_ACCESS_DENIED
    RV_FAILED_LOADING_EMBEDDED_DOCUMENTS_FROM_SERVER
    RV_ERROR_DURING_SAVE
    RV_CANNOT_SAVE_MODEL
    RV_UNKNOWN_ERROR

    RV_FUNCTION_CANNOT_BE_USED_IN_VALIDATION_SCRIPT
     

     

    Example Procedure:

     

    Sub SaveActiveModel

     Dim iResult

     iResult = PGModel.SaveModelEx("NewVersion", "Model.Branch=Development")

     If (iResult <> 0) Then

       MsgBox "Saving the model failed: " + PGApplication.GetErrorMessage(iResult)

     End If

    End Sub