IEtlCustomUser.Transform

Синтаксис Fore

Transform(Inputs: IEtlPlainRecordSets; Outputs: IEtlPlainRecordSets);

Синтаксис Fore.NET

Transform(Inputs: Prognoz.Platform.Interop.Etl.IEtlPlainRecordSets;
         Outputs: Prognoz.Platform.Interop.Etl.IEtlPlainRecordSets);

Параметры

Inputs. Входы преобразователя на основе пользовательского алгоритма;

Outputs. Выходы преобразователя на основе пользовательского алгоритма.

Описание

Метод Transform выполняет преобразование данных в алгоритме пользователя.

Комментарии

Для чтения данных в формате XML используйте метод IEtlCustomUser.Read.

Пример Fore

Добавьте ссылки на системные сборки: Etl, Xml.

Public Class CUserAlgSimple: Object, IEtlCustomUser
    
    Public Sub Transform(Input: IEtlPlainRecordSets; Output: IEtlPlainRecordSets);
    Var
        RecordSetIn, RecordSetOut: IEtlPlainRecordSet;
        i, j, k: Integer;
    Begin
        For i := 0 To input.Count - 1 Do
        RecordSetIn := Input.Item(i);
        RecordSetOut := Output.Item(i);
        For j := 0 To RecordSetIn.Count - 1 Do
            RecordSetOut.Add;
            For k := 0 To RecordSetIn.Item(j).Count - 1 Do
                RecordSetOut.Item(j).Value(k) := 1;
            End For;
        End For;
        End For;
    End Sub Transform;
    
    Public Sub Read(pNode: IXMLDOMElement);
    Begin
        Debug.WriteLine("Read from CUserAlgSimple");
        Debug.WriteLine(pNode.xml);
    End Sub Read;
    
End Class CUserAlgSimple;

Данный пример является макросом, содержащим реализацию:

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Etl;
Imports Prognoz.Platform.Interop.MsXml2;

Public Class CUserAlgSimple: Object, IEtlCustomUser
    
    Public Sub Transform(Input: IEtlPlainRecordSets; Output: IEtlPlainRecordSets);
    Var
        RecordSetIn, RecordSetOut: IEtlPlainRecordSet;
        i, j, k: Integer;
    Begin
        For i := 0 To input.Count - 1 Do
        RecordSetIn := Input.Item[i];
        RecordSetOut := Output.Item[i];
        For j := 0 To RecordSetIn.Count - 1 Do
            RecordSetOut.Add();
            For k := 0 To RecordSetIn.Item[j].Count - 1 Do
                RecordSetOut.Item[j].Value[k] := 1;
            End For;
        End For;
        End For;
    End Sub Transform;
    
    Public Sub Read(pNode: IXMLDOMElement);
    Begin
        System.Diagnostics.Debug.WriteLine("Read from CUserAlgSimple");
        System.Diagnostics.Debug.WriteLine(pNode.xml);
    End Sub Read;

End Class CUserAlgSimple;

См. также:

IEtlCustomUser