FillDefault;
The FillDefault method fills output fields based on data of provider fields. If possible, size or precision of fields are set automatically.
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 the specified provider (Table).
See also: