Syniti SAP Query Read Text for SAP ECC

Prev Next

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:

  1. Text Object

  2. Text Name

  3. Text ID

  4. Text Language

  5. Text Format

  6. Text Line

  7. Line Counter

  8. 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

  1. Open the Management Center, right-click your SAP ECC connection, and then select Select Tables.

  2. In the Filter field, enter BOAQ_READ_TEXT.

  3. 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.

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

  5. 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.

  6. 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" <20

This condition will include all records where the line counter falls within the specified range, inclusive of the boundary values.