To read data from an SAP application, configure an SAP table object as the Source transformation in a mapping.
Specify the name and description of the SAP table source. Configure the source and advanced properties for the source object.
The following table describes the source properties that you can configure in a Source transformation:
Property
Description
Connection
Name of the source connection.
Source Type
Select one of the following types:
- Single. Select to specify a single SAP Table object.
- Multiple. Select to specify multiple SAP Table objects. You can use custom relationships to join multiple source objects. When you create a custom relationship for SAP Table objects, you can select the type of join and the source fields to use.
- Parameter. Select to specify a parameter name. You can configure the source object in a mapping task associated with a mapping that uses this source transformation.
Object
Source object.
If you specify multiple source objects, you need to create relationships between the source objects.
The following table describes the SAP Table advanced source properties:
Property
Description
Number of rows to be fetched
The number of rows that are randomly retrieved from the SAP Table. Default value of zero retrieves all the rows in the table.
Number of rows to be skipped
The number of rows to be skipped.
Packet size in MB
The HTTP packet size.
When you use bulk mode to read data from an SAP table, you can tune the packet size to increase the throughput. Tune the packet size according to the network bandwidth, memory, and CPU resources available on the Secure Agent. Based on the packet size that you configure and the row length, the Secure Agent calculates the number of rows to be read in a single packet. If you increase the packet size, increase the heap size accordingly to improve the throughput.
Default is 10 MB.
Data Extraction Mode
You can use one of the following modes to read data from an SAP Table:
- Normal Mode. Use this mode to read small volumes of data from the SAP Table.
- Bulk Mode. Use this mode to read large volumes of data from the SAP Table. Use bulk mode for better performance. Bulk mode consumes more resources as compared to normal mode. You might need to tune the packet size according to the available resources and data set to increase the performance.
Default is normal mode.
Enable Compression
Enables compression.
If the Secure Agent and the SAP system are not located in the same network, you might want to enable the compression option to optimize performance.
Update Mode
When you read data from SAP tables, you can configure a mapping to perform delta extraction. You can use one of the following options based on the update mode that you want to use:
- 0- Full. Use this option when you want to extract all the records from an SAP table instead of reading only the changed data.
- 1- Delta initialization without transfer. Use this option when you do not want to extract any data but want to record the latest change number in the Informatica custom table /INFADI/TBLCHNGN for subsequent delta extractions.
- 2- Delta initialization with transfer. Use this option when you want to extract all the records from an SAP table to build an initial set of the data and subsequently run a delta update session to capture the changed data.
- 3- Delta update. Use this option when you want to read only the data that changed since the last data extraction.
- 4- Delta repeat. Use this option if you encountered errors in a previous delta update and want to repeat the delta update.
- Parameter. When you use this option, the Secure Agent uses the update mode value from a parameter file.
Default is 0- Full.
Parameter Name for Update Mode
The parameter name that you defined for update mode in the parameter file.
Override Table Name for Delta Extraction
Overrides the SAP table name with the SAP structure name from which you want to extract delta records that are captured with the structure name in the CDPOS table.
Advanced Properties
Advanced properties for the SAP Table object to run mappings.
If you specify more than one property, separate each property-value pair with a semicolon in the following format: <Property name1>=<Property value1>;<Property name2>=<Property value2>
For more information about the advanced properties, see Advanced properties.
Tracing Level
Sets the amount of detail that appears in the log file.
Select one of the following tracing level options from the list:
- Terse
- Normal
- Verbose Initialization
- Verbose Data
Default is Normal.
Filter options
You can configure the Source transformation to filter data before the data enters the data flow. Use the source query options to filter source data.
To filter data, configure the source query options on the Source tab of the Source transformation. Expand the Query Options section, and configure the filter condition.
When you configure a filter, you can use either a simple or advanced filter. You can also use a parameter in a filter expression and define the filter expression in the task.
You can configure the following filters in the Source transformation:
Simple data filter
To use a simple data filter, select a source object, source field, operator, and then enter the value.
For example, to filter data from the BEDAT field in the EKKO table when the date is less than or equal to 2016-01-29, use the following format: EKKO BEDAT <= 2016-01-29
You can also use a parameter in a filter expression in a simple data filter.
For example, EKKO EBELN = $$PARAM.
The following image shows the configured simple data filter that filters data from the BEDAT field in the EKKO table when the date is less than or equal to 2016-01-29:
Simple data filter using $LastRunTime variable
To use the $LastRunTime variable in a simple data filter, select a source object, source field, operator, and then enter the value.
For example, to filter data from the CPUTM field in the BKPF table when the data is less than or equal to the LastRunTime variable, use the following format: BKPF CPUTM <= $LastRunTime
The following image shows the configured simple data filter that filters data from the CPUTM field in the BKPF table when the data is less than or equal to the LastRunTime variable:
Simple data filter in an ABAP CDS view object
To use a simple data filter in an ABAP CDS view object, select an ABAP CDS view source object, source field, operator, and then enter the value.
For example, to filter data from the paramO_P2 field in the ZSAN_CDS_OPT_PARAM ABAP CDS view object when the value is not equal to 10, use the following format:
ZSAN_CDS_OPT_PARAM paramO_P2 <> 10
You can also use a parameter in a filter expression in a simple data filter to filter data from an ABAP CDS view object.
For example, ZSAN_CDS_OPT_PARAM paramM_P3 = $$PARAM1.
In the example, paramO denotes an optional parameter and paramM denotes a mandatory parameter.
The following image shows the configured simple data filter that filters data from the paramM_P3 field in an ABAP CDS view object when the data matches with the defined parameter:
Advanced data filter using single condition
To use an advanced data filter that contains a single condition, select Advanced as the type of filter, and then enter the field expression in the following format:
( <TableName.Field> <Operator> <'Value'> )
For example, to filter data from the BUKRS field in the EKKO table when the value is 1010, use the following format: ( EKKO.BUKRS = '1010' )
You can also use a parameter in a filter expression in an advanced data filter.
For example, ( EKKO EBELN = $$PARAM ).
The following image shows the configured advanced data filter that filters data of the BUKRS field from the EKKO table when the data matches with the defined parameter:
Advanced data filter using multiple conditions
To use an advanced data filter that contains multiple conditions, select Advanced as the type of filter, and then enter the field expression in the following format:
( <TableName.Field> <Operator> <'Value'> AND <Table name.Field> <Operator> <'Value'> ) OR ( <Table name.Field> <Operator> <'Value'> AND <Table name.Field> <Operator> <'Value'> )
For example, to filter data from multiple fields in the EKKO table, use the following format that contains a logical expression: ( EKKO.BUKRS = '1010' AND EKKO.LPONR < '60' AND EKKO.ERNAM <> 'PURCHASER' AND EKKO.BEDAT <= '20160129' ) OR ( EKKO.BUKRS = '1110' )
You can also use a parameter in a filter expression in an advanced data filter.
For example, ( EKKO.BUKRS = $$PARAM AND EKKO.LPONR < $$PARAM1 AND EKKO.ERNAM <> 'PURCHASER' AND EKKO.BEDAT <= $$PARAM2 ) OR ( EKKO.BUKRS = $$PARAM3 ).
The following image shows the configured advanced data filter that filters data from multiple fields in the EKKO table using the expression that contains the AND and OR logical conditions:
Advanced data filter using $LastRunTime variable
To use the $LastRunTime variable in an advanced data filter, select Advanced as the type of filter, and then enter the field expression in the following format:
( <Table name.Field> <operator> <Value> )
For example, to filter data from the BEDAT field in the EKKO table when the data is less than the LastRunTime variable, use the following format: ( EKKO.BEDAT < $LastRunTime )
The following image shows the configured advanced data filter that filters data from the BEDAT field in the EKKO table when the data is less than the LastRunTime variable:
Advanced data filter using SY-DATUM variable
To use the SY-DATUM variable in an advanced data filter, select Advanced as the type of filter, and then enter the field expression in the following format based on the transports you installed:
( <Table name.Field> <operator> <Value> )
For example, to filter data from the BEDAT field in the EKKO table when the data is two days older than the current date and you installed the TABLE_READER transport, use the following format: ( EKKO.BEDAT = SY-DATUM - 2 )
You can also use the SY-DATUM variable in an advanced data filter when you installed the TABLE_READER_Addon transport.
For example, use the following format: ( EKKO.BEDAT = @SY-DATUM - 2 )
The following image shows the configured advanced data filter that filters data from the BEDAT field in the EKKO table when the data is two days older and you installed the TABLE_READER_Addon transport:
Sort options
You can configure the Source transformation to sort data before the data enters the data flow. Use the source query options to sort source data.
To sort data, configure the source query options on the Source tab of the Source transformation. Expand the Query Options section, and configure the sort condition.
When you configure a sort condition, you can sort data either in the ascending or descending order from the field in a table.
To use the sort condition, select the source object, sort by field, and then the sort direction.
For example, to sort data in the ascending order from the EBELN field in the EKKO table, use the following format: EKKO EBELN Ascending
The following image shows the configured sort condition that sorts data of the EBELN field from the EKKO table in ascending order:
Join conditions
You can configure a relationship between the selected source object and related source object.
When you select multiple source objects as the source type, you can configure a relationship to join multiple source objects.
To configure a relationship using the join condition between the source and the related objects, specify the key field in the source SAP object, the type of join, the join operator, the related SAP object and the key field in the related object, and then click ADD.
For example, to configure an inner join to join the EKKO and EKPO tables when the value of the EBELN field of the EKPO table is less than the value of the EBELN field of the EKKO table, use the following format: EKKO.EBELN Inner Join < EKPO.EBELN
The following image shows a configured custom relationship that uses an inner join to join the EKKO and EKPO tables when the value of the EBELN field of the EKPO table is less than the value of the EBELN field of the EKKO table:
Advanced properties
You can configure additional options in the Advanced Properties field in the Source transformation.
You can use the following properties as advanced properties when you configure delta extraction on SAP source tables:
•When the external application time zone differs from the SAP system time zone, enter the SAP system offset time in minutes in the following format:
delta_offset=<SAP system offset time in minutes>
For example, if the difference between the external application time zone and SAP system time zone is 480 minutes, enter the following value:
delta_offset=480
•To fetch the changed data of key fields that are marked for hard deletion in SAP to the target table, enter the following advanced property:
fetch_del_rows=true
You can configure the fetch_del_rows=true advanced property in delta extraction mappings using the following guidelines:
- To fetch the deleted delta records to the target table, select Data Driven as the operation and Update Else Insert as the update mode in the Target transformation. Otherwise, data corruption occurs in the target.
- When you perform delta extraction for the deleted records, the Secure Agent fetches only the key value for the deleted delta records.