IDtUserConsumer.ForeClass

Syntax

ForeClass: String;

Description

The ForeClass property determines the name of 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 unit containing the MyConsumer class that implements a user consumer. This consumer is supposed to work with the array that contains symbolic and real values.

Sub UserProc;
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 creating a data consumer
    // Create the "User Consumer" object
    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;
    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 data consumer
    EtlConsumer.Save;
    // End of creating a data consumer
    // 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(5050);
    WxConsumer.Extension := WxETLConsumer As IWxShapeExtension;
    // End of visual object creation
    // Save ETL task
    MObj.Save;
End Sub UserProc;

After executing the example the User Consumer object is created in the ETL task. This consumer exports data according to a user algorithm implemented in the redefined method Put in the MyConsumer class.

See also:

IDtUserConsumer | IDtRecordsetConsumer.Put