IDtUserConsumer.ForeModule

Syntax

ForeModule: IModule;

Description

The ForeModule property determines the module which contains the class that implements user consumer.

Example

Executing the example requires that the repository contains an ETL task with the Etl identifier, and the ModuleConsumer module, containing the MyConsumer class, that implements user consumer. The consumer is supposed to work with the array that contains symbolic and real values.

Sub Main;

Var

MB: IMetabase;

MObj: IMetabaseObject;

EtlTask: IEtlTask;

EtlConsumer: IEtlPlainDataConsumer;

UserConsumer: IDtUserConsumer;

WxConsumer: IWxRectangle;

WxETLConsumer: IWxETLObject;

Fields: IDtFieldDefinitions;

Field: IDtFieldDefinition;

Begin

MB := MetabaseClass.Active;

//ETL task search. Repository object with the ETL identifier

MObj := MB.ItemById("Etl").Edit;

EtlTask := MObj As IEtlTask;

//Start of consumer creation

//The Custom Consumer object creation

EtlConsumer := EtlTask.Create(EtlObjectType.PlainDataUserConsumer) As IEtlPlainDataConsumer;

EtlConsumer := EtlConsumer.Edit;

EtlConsumer.Id := "User_Consumer";

EtlConsumer.Name := "User consumer";

EtlConsumer.Description := "User consumer";

//Set up data consumer

UserConsumer := EtlConsumer.Consumer As IDtUserConsumer;

UserConsumer.ForeModule := MB.ItemById("ModuleConsumer").Bind As IModule;

UserConsumer.ForeClass := "MyConsumer";

Fields := UserConsumer.Fields;

Field := Fields.Add;

Field.DataType := DbDataType.String;

Field.Name := "Code";

Field := Fields.Add;

Field.DataType := DbDataType.Float;

Field.Name := "Value";

EtlConsumer.FillDefault;

//Save consumer

EtlConsumer.Save;

//End of consumer creation

//Start of visual object creation

WxConsumer := EtlTask.Workspace.CreateRectangle;

WxETLConsumer := New WxETLObject.Create;

WxETLConsumer.ETLObject := EtlConsumer;

WxConsumer.Style.TextPosition := WxTextPosition.Bottom;

WxConsumer.Style.PictureMarginTop := -10;

WxConsumer.PinPosition := New GxPointF.Create(50, 50);

WxConsumer.Extension := WxETLConsumer As IWxShapeExtension;

//End of visual object creation

//Save Etl task

MObj.Save;

End Sub Main;

After executing the example the Custom Consumer object is created in the ETL task. The consumer exports data according to custom algorithm, that is implemented in the redefined method Put in the MyConsumer class.

See also:

IDtUserConsumer | IDtRecordsetConsumer.Put