Please enable JavaScript to view this site.

QPR Knowledge Base 2019.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