You can connect to SAP views, ABAP CDS views, transparent, pool and cluster tables using an SAP Table connection.
Data Integration does not differentiate between tables and views. You extract data from views the same way you extract data from tables. When you select a table, Data Integration displays the table name followed by the business name in the Select Object dialog box. You can filter by table name or business name when you connect to the SAP system.
Data Integration imports the following SAP table information:
•Source name
•Column names
•Business descriptions
•Data types, length, precision, and scale
ABAP CDS views
You can use an ABAP CDS view as a source or lookup in mappings.
Note: ABAP CDS views are supported from SAP NetWeaver system version 7.50 SP4 or later.
When you import an ABAP CDS view into Cloud Data Integration, the agent adds a prefix to the parameter name. The prefix is used to indicate the parameter type.
You can use the following types of parameters:
•Mandatory Parameter. A parameter for which you need to specify a value. For example, in the field paramM_P_FISCALYEAR, paramM is the prefix for a mandatory parameter that the agent adds. P_FISCALYEAR is the parameter name that is a part of ABAP CDS views.
•Optional Parameter. When you define a parameter in SAP and use the annotation @Environment.systemField, the parameter appears as an optional parameter in the list of fields.
If you do not provide a value, the optional parameter uses the ABAP system fields values.
For example, in the field paramO_P, paramO is the prefix for an optional parameter that the agent adds. P_TOFISCALPER is the parameter name that is a part of ABAP CDS views.
The following image shows the mandatory and optional parameter when you select a CDS view:
In the example, paramO denotes an optional parameter and paramM denotes a mandatory parameter.
Rules and guidelines for SAP sources and targets
Use the following rules and guidelines when you configure SAP sources and targets:
•When you configure an SAP source, configure row limits using the advanced source properties available on the scheduling page of the task wizard. Row limits on the data filters page of the task wizard are not enabled for SAP sources.
•Do not use tables as SAP Table sources if the sources have circular primary key-foreign key relationships.
•When you use more than one SAP table in a synchronization task, you can use one cluster table or one pool table. If you use more than one cluster or pool table, errors occur at run time. You can use the Object Search dialog box to see if a table is a cluster table or a pool table. You can use multiple transparent tables in a task.
•When you join a cluster table or pool table with a transparent table, include all key fields in the transparent table in the join condition. List the fields in the order that they appear in the SAP system.
•When you join a cluster table or pool table with a transparent table, use all of the source fields in the transparent table that you use in the joins and filters in the field mapping. Also, map at least one field from the cluster or pool table.
•Define relationships for multiple sources after the data preview displays the data. You can use the wizard in advanced mode to avoid waiting to preview data.
•Data sorting does not apply on cluster or pool table fields.
•You can use Data Integration variables and ABAP variables in simple data filters for SAP tables. Do not use ABAP syntax in simple data filters for SAP tables.
•You can use ABAP variables and ABAP syntax in advanced data filters for SAP tables. Do not use Data Integration variables in advanced data filters for SAP tables.
•Use the $LastRunTime variable to filter data based on the start date and time in GMT time zone of the last task that ran successfully or ended with a warning in the Secure Agent.
•Due to an SAP limitation, tasks that require a read longer than 30 minutes can fail. You might use one or more of the following suggestions if you encounter this problem:
- Use the SAP advanced source properties to limit the number of rows to be read.
- Configure a data filter to reduce the number of rows to be read.
- Reduce the number of output fields for the task.
- Configure the SAP parameter rdisp/max_wprun_time to allow more time for the read. For more information, see the SAP documentation.
- To increase the amount of records that the Secure Agent can retrieve at one time, you can increase the Java heap memory for the Secure Agent. To do this, edit the Secure Agent. In the System Configuration Details section, select DTM and set the JVMOption1 property to the following value: Xmx512m. Click OK to save the change and restart the Secure Agent. Adjust the value for the JVMOption1 property based on the amount of records you want to retrieve and the available memory on the Secure Agent machine.
•For a lookup on an SAP object, configure the lookup to return less than 20 rows. Tasks might fail if the lookup returns more than 20 rows.
•A lookup on an SAP object does not return matching rows if the lookup comparison value is NULL.
•When you define a reject file name for an SAP target, use the default name or the variable $ErrorFileName. The $ErrorFileName variable uses the following convention for reject file name:
s_dss_<task name>_<run number>_error.csv.bad
•When you define a reject directory for an SAP target, use the variable $PMBadFileDir. When you use the $PMBadFileDir variable, the synchronization task writes the reject file to the following Secure Agent directory:
<SecureAgent_InstallDir>/main/rdtmDir/error
•Consider the following rules when you configure a mapping to read from CDS views:
- When you select a CDS view as an SAP source object in a mapping, you cannot preview the data.
- When you configure a mapping with a lookup transformation to look up records in CDS views with parameters, only uncached lookup is supported.
- Delta extraction does not apply if you select a CDS view as an SAP source object.
- Do not use completely parameterized or advanced filters for CDS view parameters.
- Do not use the CLNT field optional parameter in a mapping.
•To establish communication from the SAP system with the Secure Agent using the IP address of the NAT gateway, you need to add the DTM property named SapTableReaderNatIpAddress for the Secure Agent and specify the NAT IP address as the value.
•You cannot configure a custom relationship that uses a right outer join for SAP Table objects from the SAP NetWeaver system version 7.40 SP04 or earlier.
•When you run an SAP Table Reader mapping, even though the mapping runs successfully, the system log of the SAP system displays the CPIC error.
To avoid the CPIC error at the SAP system, see KB article 000176711.
•You can't configure multiple source objects in a parametrized mapping task, or a mapping task that uses the following mapping task templates:
- Replicate an SAP table incrementally into a new target.
- Replicate an SAP table incrementally into an existing target.