Overview
This article describes the steps required to install the SAP transport needed to extract long text data from SAP Systems via RFC using Syniti Replicate. Additionally, it describes the minimum SAP User requirements that need to be provisioned to allow table data to be extracted using Syniti Replicate.
SAP Environment Compatibility SAP ECC
Transport file SD2K901694 is compatible with SAP ECC6 SAP Basis 700 or higher.
User Authorization
Syniti recommends using a non-dialog RFC user with a non-expiring password. The user should at least be provisioned the authorizations shown below.
Authorization Object | Authorization Field | Authorization Value |
S_RFC | RFC_TYPE | FUNC |
ACTVT | 16 (Execute) | |
RFC_NAME | /BOA/*, RFC_READ_TABLE, RFCPING, DDIF_FIELDINFO_GET, RFC_GET_FUNCTION_INTERFACE, RSAQ_REMOTE_QUERY_CALL_CATALOG, RSAQ_REMOTE_QUERY_FIELDLIST, /OSP/GET_DECIMAL_NOTATION | |
S_RFC | RFC_TYPE | FUGR |
ACTVT | 16 (Execute) | |
RFC_NAME | AQRC | |
S_DEVELOP | DEVCLASS | SQUE |
OBJTYPE | FUGR | |
OBJNAME | AQRC | |
P_GROUP | ||
ACTVT | 16 | |
S_PROGNAM | P_PROGNAM | AQZZ/BOA/QUERY==BOAQ_READ_TEXT |
Table Access
Use the S_TABU_NAM authorization object to restrict by table. The minimum list of tables required are as follows. Additionally specific tables to be extracted will need to be added.
Authorization Object | Authorization Field | Authorization Value |
S_TABU_NAM | TABLE | AQGQCAT, DD01T, DD02L, DD02T, DD03L, DD04L, DD04T, DD05Q, DD07L, DD07T, TCDOB |
ACTVT | 03 (Display) |
Use the S_TABU_NAM authorization object to restrict by table group. The minimum list of table group are as follows. Additionally specific table groups to be extracted will need to be added.
Authorization Object | Authorization Field | Authorization Value |
S_TABU_DIS | DICBERCLS | &NC&, SS |
ACTVT | 03 (Display) |
Install SAP ECC Transports
The first step required to set-up the solution, is to install the provided transport in the SAP Application Server. The transport files are listed next. To have them installed, please contact the customer Basis team.
Install Syniti SAP Query Read Text Transport ECC6
Install the provided transports into the SAP Application Server.
To extract SAP long texts, a single transport (Transport File DCSK900655) must be installed. To have it installed, please contact the Customer Basis team.
Transport Contents
Object Name | Type | Description |
/BOA/UTILITY | Package | Package that contains all objects related to Syniti SAP Query Read Text |
/BOA/READ_TEXT | Structure | Structure that defines available fields for Input parameters and Output table columns |
/BOA/QUERY | User Group | User Group for Syniti SAP Query Read Text |
/BOA/READ_TEXT | InfoSet | InfoSet for Syniti SAP Query Read Text. Assigned to User Group /BOA/QUERY. Main Query logic (input parameters definition and extraction logic) is implemented in this InfoSet. |
/BOA/QUERY BOAQ_READ_TEXT | Query | Query for Syniti SAP Query Read Text. Created based on InfoSet /BOA/READ_TEXT. Output format (columns displayed and their sequence) is defined in this Query. |
Executing Syniti SAP Query Read Text
Using RSAQ_REMOTE_QUERY_CALL
Once the Syniti SAP Query Read Text is installed, it is ready to be executed and to extract text for the objects in scope.
When executing the query using RSAQ_REMOTE_QUERY_CALL Remote Enabled Function Module, the following input parameters must be provided:
WORKSPACE: Value must be set to G as the Query was created under Global Area
QUERY: Name of the Query to be executed. Value must be BOAQ_READ_TEXT
USERGROUP: Name of the User Group that contains the Query. Value must be /BOA/QUERY (ECC)
SKIP_SELSCREEN: Do not use Selection Screen. Selection Screen Parameters are populated from Input Table SELECTION_TABLE (see below). Value must be X.
DATA_TO_MEMORY: Export extraction results to memory and fill Output Table LDATA (see LDATA Output Table for more information)
SELECTION_TABLE:
SELNAME: Possible values are:
S_TDOBJ: Text Object
S_TDNAME: Text Name
S_TDID: Text ID
S_SPRAS: Language
KIND: Possible values are
P: Parameter
S: Select Option
SIGN: Possible values are:
I: Include
E: Exclude
OPTION: Possible values are:
EQ: Equal
NE: Not Equal
GT: Greater Than
GE: Greater or Equal Than
LT: Less Than
LE: Less or Equal Than
BT: Between
LOW: Lower Value
HIGH: Higher Value
LDATA Output Table
The output is exported to the LDATA output table. This table has a generic row type, and its contents must be parsed by the consumer application.
Note
In cases where the length of the result record is less than the length of the LDATA row, one row of Output Table LDATA may contain more than one result record from the Query. It is also possible for one result record from the Query to span more than one row of Output Table LDATA, in cases where the length of the result record is greater than the length of LDATA row.
LDATA encodes the results in the following format: <VALUE_LENGTH>:<VALUE>[<VALUE_LENGTH>:<VALUE>];
where:
VALUE_LENGTH: 3 digits describing the length of VALUE
VALUE: Actual field value
For Syniti SAP Query Read Text, every output record has the following eight fields:
Text Object
Text Name
Text ID
Text Language
Text Format
Text Line
Line Counter
SAP Client
Using Syniti Data Provider for SAP ERP
Once the Syniti SAP Query Read Text and the Syniti Data Provider for SAP are installed, they are ready to be executed and to extract text for the objects in scope.
The Syniti Data Provider for SAP is responsible for converting SQL Query Language (i.e., SQL Select Statements) into a Remote Function Call using RSAQ_REMOTE_QUERY_CALL Remote Enabled Function Module. The Syniti Data Provider for SAP translates the SQL Query options into Importing and Table Parameters and parses the output of the Remote Function Call back into SQL compliant format. The Query Name must be informed in the From Clause and the following fields can be used in the Where Clause:
_BOA_READ_TEXT-OBJECT: Text Object
_BOA_READ_TEXT-NAME: Text Name
_BOA_READ_TEXT-ID: Text ID
_BOA_READ_TEXT-LANGUAGE: Language
The output can contain the fields below:
Text Object
Text Name
Text ID
Text Language
Text Format
Text Line
Line Counter
SAP Client
Execution Examples
Execution using RSAQ_REMOTE_QUERY_CALL
To consume Syniti SAP Query Read Text using RSAQ_REMOTE_QUERY_CALL, the following fields must be populated:
Workspace
Query
Usergroup
Skip_selscreen
Data_to_memory
Selection_table
See Using RSAQ_REMOTE_QUERY_CALL for more details for each parameter.

RSAQ_REMOTE_QUERY_CALL - Parameters

RSAQ_REMOTE_QUERY_CALL - SELECTION_TABLE
The generated results can be found in Table LDATA:

RSAQ_REMOTE_QUERY_CALL - LDATA
Execution from the Management Center
Open the Management Center, right-click your SAP ECC connection, and then select Select Tables.

In the Filter field, enter BOAQ_READ_TEXT.

Follow the steps to create a target table using the Syniti Replicate Target Table Wizard and also create the according replication for this table. Make sure to deselect the Enable Replication option before completing the wizard. Refer to Create Target Table Wizard for more information.

From the Replication list, select BOAQ_READ_TEXT and right-click and select Replication Properties.

Click the Refresh option under Preferences and expand the Refresh Filter Source section, and then click the ellipses (…) button to open the Expression Generator.

In this new dialog box, user can add the filter required. In this example, the MATERIAL filter is applied.
Click OK to save your changes.
Advanced Filtering
Note
To use advanced filtering capabilities, you have to import the Transport file SD2K901694.
When extracting long text data using the Syniti SAP Query Read Text, you may need to filter the results to retrieve specific subsets of data by applying conditions such as 'LIKE' and 'BETWEEN' in the selection criteria.
Using the 'LIKE' Condition
The 'LIKE' condition allows you to filter records that match a specified pattern. For example, to retrieve text objects with names that include the word "BEWERB" you can set the filter as follows:
SAPERP.BOAQ_READ_TEXT WHERE "_BOA_READ_TEXT-LANGUAGE"='E' AND "_BOA_READ_TEXT-NAME" LIKE 'BEWERB%'In this pattern:
The percent symbol (%) acts as a wildcard, representing any sequence of characters. Therefore, BEWERB% will match any text that starts with the substring "BEWERB".
Using the BETWEEN ‘> <' Condition
The 'BETWEEN' condition (or RANGE), represented by the > < symbol, is useful for filtering records within a specific range. For example, to extract texts with text counters between 1 and 20, you can set the filter criteria as:
SAPERP.BOAQ_READ_TEXT WHERE "_BOA_READ_TEXT-LANGUAGE"='E' AND "_BOA_READ_TEXT-COUN" >=1 and "_BOA_READ_TEXT-COUN" <20This condition will include all records where the line counter falls within the specified range, inclusive of the boundary values.
