Transform(Inputs: IEtlPlainRecordSets; Outputs: IEtlPlainRecordSets);
Transform(Inputs: Prognoz.Platform.Interop.Etl.IEtlPlainRecordSets;
Outputs: Prognoz.Platform.Interop.Etl.IEtlPlainRecordSets);
Inputs. Входы преобразователя на основе пользовательского алгоритма;
Outputs. Выходы преобразователя на основе пользовательского алгоритма.
Метод Transform выполняет преобразование данных в алгоритме пользователя.
Для чтения данных в формате XML используйте метод IEtlCustomUser.Read.
Добавьте ссылки на системные сборки: 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;
Данный пример является макросом, содержащим реализацию:
метода для чтения данных в формате XML;
метода для преобразования данных в алгоритме пользователя.
Необходимые требования и результат выполнения примера 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;
См. также: