spMFCreateObjectInternal

This CLR procedure is at the heart of the exchange of object data between SQL and M-Files. Understanding the inner workings of the exchange may help when interpreting results in the MFUpdateHistory table.

This procedure cannot be executed on its own; it depends on input parameters in XML format.

Parameters

@VaultSettings

Controls access to M-Files and depends on MFVaultSettings. Use: SELECT [dbo].[fnMFVaultSettings](); to obtain the settings for this parameter.

@XML

XML-formatted details of records: - If @UpdateMethod = 0 then XML includes new/updated records for all items with process_id. - If @UpdateMethod = 1 then XML includes one ObjectType and Class for update. This input is shown in MFUpdateHistory.ObjectDetails.

@ObjVerXmlString

Shows the object and version of the M-Files records in scope of the SQL filter. Applies only to update methods 1 and 2. This input is shown in MFUpdateHistory.ObjectVerDetails.

@MFIDs

List of IDs to be updated. Only visible in debug mode.

@UpdateMethod

0 or 1.

@MFModifiedDate

Filters used by MFUpdateTable.

@ObjIDsForUpdate

Optional list of ObjIDs to update.

@XmlOUT OUTPUT

Outputs the object and version of the new record created in M-Files to be updated in SQL (only when method is not 0). Shown in [MFUpdateHistory].[NewOrUpdatedObjectVer].

@NewObjectXml OUTPUT

Shown in [MFUpdateHistory].[NewOrUpdatedObjectDetails]. This data is updated into SQL.

@SynchErrorObj OUTPUT

Shown in [MFUpdateHistory].[SynchronizationError] (only when method is not 0). Process_id is set to 2.

@DeletedObjects OUTPUT

Shown in [MFUpdateHistory].[DeletedObjectVer] (only when method is not 0 and the filter is not @MFModifiedDate). Deleted is set to 1.

@ErrorInfo OUTPUT

Shown in [MFUpdateHistory].[MFError]. Process_id is set to 3.