IDtExcelProvider.CheckFieldName

Syntax

CheckFieldName: Boolean;

Description

The CheckFieldName property determines whether fields' names are transformed in such a way that number values can be imported.

Comments

If the property is set to True, special transformations are made on import to disable changing of fields' numeric names by the provider. If the value is set to False for the fields with numeric names, new names are generated that is F1, F2 and so on.

Example

Executing the example requires a time series database with the OBJ_RUBRICATOR identifier and the indicators export file C:\Country By Rows.XLS.

Sub UserProc;
Var
    Mb: IMetabase;
    Excel: IDtExcelProvider;
    Provider: IDatasetDataProvider;
    RubDesc: IMetabaseObjectDescriptor;
    CrInfo: IMetabaseObjectCreateInfo;
    Obj: IMetabaseObject;
    ObjDesc: IMetabaseObjectDescriptor;
    ImportRequestDef: IImportRequestDefinition;
    ImportRequestProviderParams: IImportRequestProviderParams;
    Binding: ICubeMetaLoaderBinding;
Begin
    // Data provider for import from XLS
    Excel := New DtExcelProvider.Create;
    Excel.ImexMode := DtExcelImexMode.Import;
    Excel.File := "C:\Country By Rows.XLS";
    Excel.Query := "SELECT * FROM [By Rows$]";
    Excel.HasHeader := True;
    Excel.CheckFieldName := True;
    Excel.Open;
    Mb := MetabaseClass.Active;
    RubDesc := Mb.ItemById("OBJ_RUBRICATOR");
    Provider := (Excel As IDatasetDataProvider);
    // Import object
    CrInfo := Mb.CreateCreateInfo;
    CrInfo.ClassId := MetabaseObjectClass.KE_CLASS_IMPORTREQUEST;
    CrInfo.Id := "OBJ_IMPORTREQUEST_P";
    CrInfo.Name := "Import object";
    CrInfo.Permanent := True;
    CrInfo.Parent := RubDesc.Bind;
    ObjDesc := Mb.CreateObject(CrInfo);
    Obj := ObjDesc.Edit;
    // Set up data provider
    ImportRequestDef := Obj As IImportRequestDefinition;
    ImportRequestDef.SourceType := ImportRequestSourceType.Provider;
    ImportRequestDef.DestinationRubricator := RubDesc.Bind As IRubricator;
    // Import options
    ImportRequestProviderParams := ImportRequestDef.ProviderParams;
    ImportRequestProviderParams.Provider := Provider;
    ImportRequestProviderParams.NewRevisionName := "Import of indicators";
    ImportRequestProviderParams.ImportObjectKey := Obj.Key;
    ImportRequestProviderParams.LoadType := CubeMetaLoaderLoadType.CreateAndUpdate;
    Binding := ImportRequestProviderParams.Bindings.Add;
    Binding.BindingType := CubeMetaLoaderBindingType.Calendar;
    Binding.CalendarOptions.Levels := DimCalendarLevelSet.Year;
    Binding.ByColumns := False;
    Binding.CalendarDateFormat := "$Year$";
    Obj.Save;
End Sub UserProc;

After executing the example an object of indicators import from the specified file is created. In the object calendar parameters are set. If the string with fields' titles contains numeric names, they are not replaced on import.

See also:

IDtExcelProvider