Provider: IDtProvider;
The Provider property returns object import options.
According to the ETL task object type, cast the value of the Provider property to one of the interfaces, for which IDtProvider is basic, to set specific import options.
Executing the example requires that the repository contains an ETL task with the ETL identifier and a table with the TABLE identifier. This table is a data provider.
Sub UserProc;
Var
Metabase: IMetabase;
MObj: IMetabaseObject;
EtlTask: IEtlTask;
EtlProvider: IEtlPlainDataProvider;
MBProvider: IDtMetabaseProvider;
i, j: integer;
Tab: IDatasetModel;
Begin
// Search for ETL task. Repository object with the ETL identifier
Metabase := MetabaseClass.Active;
MObj := Metabase.ItemById("ETL").Edit;
EtlTask := MObj As IEtlTask;
Tab := Metabase.ItemById("Table").Bind As IDatasetModel;
// Create the "Repository Provider" object
EtlProvider := EtlTask.Create(EtlObjectType.PlainDataMetabaseProvider) As IEtlPlainDataProvider;
EtlProvider := EtlProvider.Edit;
EtlProvider.Id := "MB_Provider";
EtlProvider.Name := "Repository data provider";
// Set up data provider
MBProvider := EtlProvider.Provider As IDtMetabaseProvider;
MBProvider.FieldsFromFile;
MBProvider.Dataset := Tab;
EtlProvider.FillDefault;
EtlProvider.Save;
// Create a visual object
CreateWX(EtlProvider, EtlTask);
MObj.Save;
End Sub UserProc;
Sub CreateWX(CopyObj: IEtlPlainDataProvider; Etltask: IEtltask);
Var
WxDataTrans: IWxRectangle;
WxETLDataTrans: IWxEtlObject;
Begin
WxDataTrans := EtlTask.Workspace.CreateRectangle;
WxDataTrans.Id := CopyObj.Id;
WxETLDataTrans := New WxEtlObject.Create;
WxETLDataTrans.EtlObject := CopyObj;
WxDataTrans.Style.TextPosition := WxTextPosition.Bottom;
WxDataTrans.Style.PictureMarginTop := -10;
WxDataTrans.PinPosition := New GxPointF.Create(20, 20);
WxDataTrans.Extension := WxETLDataTrans As IWxShapeExtension;
End Sub CreateWX;
After executing the example (UserProc) repository data source is created for ETL task, input fields are identical to fields of specified source (Table).
See also: