cancel
Showing results for 
Search instead for 
Did you mean: 

SLT Replication Failing for STXL

0 Kudos

Hi There,

I tried the same steps mentioned in the BLOG , but it is failing for me, here is a summary of thing I did:

Scenario: Fetch STXL Texts from GRC to HANA and Gateway is where the SLT is Running.


1.  As per the PDF, I did step 2.2.1 ( sub steps1, 2, & 3) in our GRC Dev system.

2. Step 2.2.2 Generate rountines for the data declustering in Gateway System, using RFCDEST that would connect to GRC.

3. Step 2.3 Define Target table structure in our Gateway System.

4. Step 2.4.1 in Gateway where I have kept the field SOURCE_TAB_NAME as BLANK and rest of the fields are same as what the PDF suggested.

5. Step 2.4.2 & 2.4.3 in the gateway as per the PDF again.

6. When implementing STEP 2.4.4.2, when I set STXL under Performance Option in LTRS, the reading Type 5 in my system shows up as Sender Queue and not INDX CLUSTER with FULL TABLE SCAN.

7. When I run the replication for STXL using LTRC the error that pops up under Data Transfer Monitor :

Declustering failed for object Z_STXL_002 & Execution of program /1CADMC/OLC_100000000001774 failed, return code 2 which means (RC = 2: Error reading the data). The procedure advise for trouble shooting is RC = 2: Analysis of system-log in sender-system, but when I check the SM21 in GRC system, there is no mention of any error.

Any advice on what I could be doing possibly wrong?

Regards,

Pablo Ghosh Roy

Accepted Solutions (1)

Accepted Solutions (1)

former_member252769
Active Participant
0 Kudos

Hi Pablo,

can you confirm when you created the configuration for replication what was the reading type ?

If not then you need to change to "performance optimized".

Then after that in LTRS change the performance option of STXL to 5.

Regards

BJ

0 Kudos

Hi Jones,

Sincere Apologies for the delay in my response. I did what you had asked me to do and still it didnt work. Hence I did the following to make it work:

I made use of Remote Enable RFC for READ TEXT that is the FM /SAPDS/READ_TEXT' and called in an include which was part of RULE Assignment.

My approach was similar to the one mentioned in the blog:

The Only difference was I was using an Remote Enabled RFC for it to fetch texts from SRM/GRC and ECC.

Regards,

Pablo Ghosh Roy

Former Member
0 Kudos

Hi Pablo,

Can you please provide the  more details on this, I am struck in the same situation.

We are facing dumps " Import Container Missing " when using the include in the Blog that you mentioned.

We are replicating STXL from ECC system, If possible can you please provide details of using the READ_TEXT with Remote Enabled RFC.

Regards

Ravi Kira

0 Kudos

Hi Ravi,

The reason you are getting Import Container Missing is because at times, when the STXL cluster is read, it doesn't read it in the right order e.g. for one particular Object you have text more 7902 bytes then that particular record is split in 2 and then SRTF2 comes into play.

So SRTF2 with value 0 will store the first 7902 bytes of data and then SRTF2 with value 1 will store anything after that, however both of them need needs to be read together, but while replication that doesn't happen often.

So what I did was read all STXL first for SRTF2 with value 0 then use the following RFC for reading text '/SAPDS/READ_TEXT' to get the whole text since the FM has logic to get the whole text.

Let me know if you need any more information.

There is also an alternative way doing the replication something SAP advises us to do, I couldn't get it to work due to time constraints and hence chose the RFC FM route. Please find the link below for your reference:

Regards,

Pablo Ghosh Roy

Former Member
0 Kudos

Hi Pablo,

Can you please help me with ABAP Code exactly you have developed.

And also this seems Data Services related RFC , can READ_TEXT will work for this.

Regards

Ravi

0 Kudos

Simple READ_TEXT wont work because it is not RFC enabled. You need a RFC enabled version of READ_TEXT that would run in your gateway system while the replication happens.

Hence I advised you /SAPDS/READ_TEXT, at the end of the day it is a FM that will read STXL based on the parameters you pass so whether it is Data Services related or not is immaterial.

However you are more than welcome to try and find if there are any Remote Enabled versions of READ_TEXT, the reason I used /SAPDS/READ_TEXT because it exists in GRC/SRM/ECC/BW systems so all the texts from different systems can be read using this FM.

So my code is exactly the same as mentioned in the post :

The only difference is I have called the FM in place of the following line

" import tline = lt_tline from internal table lt_stxl_raw.  " from the blog

CALL FUNCTION '/SAPDS/READ_TEXT'

     DESTINATION lv_destination

     EXPORTING

       id                      = <wa_s_stxl>-tdid

       language                = <wa_s_stxl>-tdspras

       name                    = <wa_s_stxl>-tdname

       object                  = <wa_s_stxl>-tdobject

     TABLES

       lines                   = lt_tline

     EXCEPTIONS

       id                      = 1

       language                = 2

       name                    = 3

       not_found               = 4

       object                  = 5

       reference_check         = 6

       wrong_access_to_archive = 7

       OTHERS                  = 8.

if sy-subrc = 0. 

loop at lt_line into data(ls_lines).

concatenate  <WA_R_STXL>-TEXT ls_line-tdline

into <WA_R_STXL>-TEXT seperated by space.

endloop.

endif. 


Let me know if you still face issues!!


Regards,

Pablo Ghosh Roy

Former Member
0 Kudos

Thanks Pablo, I will try to work around this and let you know

Former Member
0 Kudos

Hi Pablo,

I tried to follow the steps initial load is good but the problem , TEXT is not populated.

Below is the code in the include, please correct as necessary.

"

types: begin of ty_stxl_raw,

clustr type stxl-clustr,

clustd type stxl-clustd,

end of ty_stxl_raw.

DATA: lt_stxl_raw type standard table of ty_stxl_raw,

wa_stxl_raw type ty_stxl_raw,

lt_tline type standard table of tline,

  ls_lines TYPE tline,

wa_tline type tline.

*Filter out text records that we don't need

IF <WA_S_STXL>-TDOBJECT = 'YVEHICLE' AND <WA_S_STXL>-TDID = 'YEQN' AND <WA_S_STXL>-TDSPRAS = 'E' AND <WA_S_STXL>-SRTF2 = '0'.

IF <WA_S_STXL>-CLUSTD is not initial.

wa_stxl_raw-clustr = <WA_S_STXL>-clustr.

wa_stxl_raw-clustd = <WA_S_STXL>-clustd.

append wa_stxl_raw to lt_stxl_raw.

CALL FUNCTION '/SAPDS/READ_TEXT' DESTINATION '**RFC_SOurce_System**'

     EXPORTING

       id                      = <wa_s_stxl>-tdid

       language                = <wa_s_stxl>-tdspras

       name                    = <wa_s_stxl>-tdname

       object                  = <wa_s_stxl>-tdobject

  

TABLES

       lines                   = lt_tline

  EXCEPTIONS

       id                      = 1

       language                = 2

       name                    = 3

       not_found               = 4

       object                  = 5

       reference_check         = 6

       wrong_access_to_archive = 7

       OTHERS                  = 8.

if sy-subrc = 0.

loop at lt_tline into ls_lines.

concatenate  <WA_R_STXL>-ZZTEXT ls_lines-tdline

into <WA_R_STXL>-ZZTEXT separated by space.

endloop.

endif.

*Only read first line of text

READ TABLE lt_tline into wa_tline INDEX 1.

*Only populate target column if there is a text line available

if sy-subrc = 0.

<WA_R_STXL>-ZZTEXT = wa_tline-tdline.

endif.

endif.

ELSE.

SKIP_RECORD.

ENDIF.

"

0 Kudos

Hi Ravikiran,

Looking at the code : I don't think you this piece of code needs to be there: (I assume you want the whole text to come into HANA and not just one line of it)

*Only read first line of text

READ TABLE lt_tline into wa_tline INDEX 1.

*Only populate target column if there is a text line available

if sy-subrc = 0.

<WA_R_STXL>-ZZTEXT = wa_tline-tdline.

endif.

endif.

  ELSE.

SKIP_RECORD.

ENDIF.

You are already getting the whole text from this coderom FM:

if sy-subrc = 0.

loop at lt_tline into ls_lines.

concatenate  <WA_R_STXL>-ZZTEXT ls_lines-tdline

into <WA_R_STXL>-ZZTEXT separated by space.

endloop.

endif.

Sorry if I was vague from my previous reply....

This section from the blog needs to be replaced with the FM...

This code is not required ----

wa_stxl_raw-clustr = <WA_S_STXL>-clustr. 

wa_stxl_raw-clustd = <WA_S_STXL>-clustd. 

append wa_stxl_raw to lt_stxl_raw. 

import tline = lt_tline from internal table lt_stxl_raw. 

READ TABLE lt_tline into wa_tline INDEX 1. 

if sy-subrc = 0. 

<WA_R_STXL>-TEXT = wa_tline-tdline. 

endif. 

----------

Your Code :

CALL FUNCTION '/SAPDS/READ_TEXT' DESTINATION '**RFC_SOurce_System**'

     EXPORTING

       id                      = <wa_s_stxl>-tdid

       language                = <wa_s_stxl>-tdspras

       name                    = <wa_s_stxl>-tdname

       object                  = <wa_s_stxl>-tdobject

 

TABLES

       lines                   = lt_tline

  EXCEPTIONS

       id                      = 1

       language                = 2

       name                    = 3

       not_found               = 4

       object                  = 5

       reference_check         = 6

       wrong_access_to_archive = 7

       OTHERS                  = 8.

if sy-subrc = 0.

loop at lt_tline into ls_lines.

concatenate  <WA_R_STXL>-ZZTEXT ls_lines-tdline

into <WA_R_STXL>-ZZTEXT separated by space.

endloop.

endif.

Let me know if you still having problems!!

Regards..

Pablo Ghosh Roy

Former Member
0 Kudos

Thanks Pablo for quick reply. I tried to update the changes in the code  as you mentioned. Still no luck , Text is not  getting replicated.

I have attached , code that I used to replicate.

0 Kudos

Code looks good now, it must be an issue with the configuration in transaction LTRS.

Can you please check the Performance Options & Trigger Options, if they have been configured OK?

Regards..

Pablo Ghosh Roy

Answers (0)