Bearbeiten

Freigeben über


DataTransfer.AddSourceFilter(Integer, Text [, Any,...]) Method

Version: Available or changed with runtime version 10.0.

Adds a filter for the source table for the data transfer.

Syntax

 DataTransfer.AddSourceFilter(SourceField: Integer, String: Text [, Value: Any,...])

Parameters

DataTransfer
 Type: DataTransfer
An instance of the DataTransfer data type.

SourceField
 Type: Integer
The field in the source table to filter on.

String
 Type: Text
The filter expression. A valid expression consists of alphanumeric characters and one or more of the following operators: <, >, \, &, |, and =. You can use replacement fields (%1, %2, and so on) to insert values at runtime.

[Optional] Value
 Type: Any
Replacement values to insert in replacement fields in the filter expression. The data type of Value must match the data type of Field.

Remarks

The DataTransfer object can only be used in upgrade code and it will throw an runtime error if used outside of upgrade codeunits.

Use this method when copy data in rows or fields from one table to another table. For more information, see Transferring Data Bewteen Tables.

Example

In this code example, you copy the PK and S3 fields in the Source table for all rows where S2 equals A and add them as new rows in the Destination table. You use AddConstantValue method to give the field D2 the value X in the inserted rows.

local procedure CopyRows()
var
    dt: DataTransfer;
    src: Record Source;
    dest : Record Destination;
begin
    dt.SetTables(Database::Source, Database::Destination);
    dt.AddFieldValue(src.FieldNo("PK"), dest.FieldNo("PK"));
    dt.AddFieldValue(src.FieldNo("S3"), dest.FieldNo("D3"));
    dt.AddConstantValue('X', dest.FieldNo(D2));
    dt.AddSourceFilter(src.FieldNo("S2"), '=%1', 'A');
    dt.CopyRows();
end;

DataTransfer Data Type
Getting Started with AL
Developing Extensions