SAP Table Connector - Copy Data Activity issues during SAP Table Joins - Azure Data Factory

VNK Sarma Peyyety 25 Reputation points
2023-05-18T06:02:22.83+00:00

Current usage of Copy Data Activity with an SAP Table Connector prompts to write a custom function module if the data fetch from SAP involves joining more than one table.

Assumption:

Within the Copy Data Activity that has SAP as Source, leaving the Custom Function Module configuration as blank should leverage the default /SAPDS/RFC_READ_TABLE2 service.

Thus, simply providing the complete SAP query (as depicted in the documentation example) along with the join condition in RFC table Options should fetch the expected data.

However, it results in the following error:

SapRfcClient operation '/SAPDS/RFC_READ_TABLE2' failed. Please contact SAP support if you need further help. Error message: 'An error has occurred while parsing a dynamic entry.'

What am I missing?

Key Notes:

  1. Just as a technical test, even plugged in the same exact query from the official documentation screenshot into RFC table Options. Yet, errored.
  2. We have no problems reading the data from one single SAP table at a time using the SAP Table Connector (It only fails when a join query is provided)

Thanks a lot in advance for taking time to look into this Question... Cheers!!

Azure Data Factory
Azure Data Factory
An Azure service for ingesting, preparing, and transforming data at scale.
11,625 questions
{count} votes

Accepted answer
  1. KranthiPakala-MSFT 46,642 Reputation points Microsoft Employee Moderator
    2023-05-18T22:40:50.8166667+00:00

    @VNK Sarma Peyyety Welcome to Microsoft Q&A forum and thanks for reaching out here.

    As per the documentation, to clarify, ADF SAP Table connector only supports one single table with the default function module /SAPDS/RFC_READ_TABLE2.
    User's image

    If you are leaving the custom function module configuration as blank, and if you provide the query for a single table (no join) then the service leverages default function module /SAPDS/RFC_READ_TABLE2 and fetch the data. In case if you leave the custom function module as blank and provide a query that gets the join condition data of multiple tables, then it thrown the error you have received. In that case, in order to execute the query containing join more than one table, you will have to create a custom function module (that can handle the join operation) that have an interface implemented (import, export, tables) similar to /SAPDS/RFC_READ_TABLE2.

    Other alternative options:

    You can also consider having the joined data aggregated in the VIEW, which is supported by SAP Table connector. You can also try to extract related tables to get onboard onto Azure (e.g. Azure Storage, Azure SQL Database), then use Data Flow to proceed with further join or filter.

    Hope this helps.


    Please don’t forget to Accept Answer and Yes for "was this answer helpful" wherever the information provided helps you, this can be beneficial to other community members.

    3 people found this answer helpful.

1 additional answer

Sort by: Most helpful
  1. VasimTamboli 5,215 Reputation points
    2023-05-19T13:20:07.3+00:00

    The error message you're encountering suggests that there is an issue with parsing a dynamic entry when using the SAP Table Connector in Azure Data Factory for join queries. This error commonly occurs when there is a problem with the syntax or structure of the query.

    To troubleshoot this issue, here are a few things you can check:

    Query Syntax: Ensure that the join query you are providing in the RFC table options is correct and follows the proper syntax. Check for any missing or incorrect table aliases, field names, join conditions, or other syntax errors.

    Field Selection: Make sure that you are selecting the required fields from both tables involved in the join. If any necessary fields are missing in the field selection, it can lead to parsing errors.

    Data Types: Verify that the data types of the fields used in the join condition are compatible. Mismatched data types can cause parsing issues. Check the data types of the fields in both SAP tables and ensure they match correctly.

    Test with a Simple Join: Start by testing a simple join query with just a few fields and a basic join condition. This can help identify if the issue lies with the specific query you are trying to execute or if it's a broader problem with join queries in the SAP Table Connector.

    Custom Function Module: While the documentation suggests that leaving the Custom Function Module configuration blank should use the default /SAPDS/RFC_READ_TABLE2 service, it's worth verifying if a custom function module is required for join queries. Consult the SAP Table Connector documentation or reach out to SAP support to confirm if a custom function module is necessary for join queries.

    Connectivity and Authorization: Ensure that the Azure Data Factory has proper connectivity to your SAP system and the necessary authorization to execute the join query. Check the connection settings, credentials, and authorizations assigned to the SAP Table Connector in Azure Data Factory.

    If the issue persists after checking these points, I recommend reaching out to SAP support for further assistance. They can provide specific guidance and help troubleshoot the parsing error in the context of the SAP system you are working with.

    1 person found this answer helpful.
    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.