cancel
Showing results for 
Search instead for 
Did you mean: 

Special characters causing failure of DTP

anubhav_kumar2
Explorer
0 Kudos

Hello

Our master data update is failing everyday due to some special character or the other. I added all 73 characters that I could in RSKC.
But some new special character or the other pops up that causes the error.

Please help me on how to add more special characters in RSKC and/or if there are other settings that need to be done...

1. vis a vis special characters

2. vis a vis other languages

3. I tried allow lowercase for these infoproviders as well, yet it doesnt work.

Accepted Solutions (0)

Answers (5)

Answers (5)

ccc_ccc
Active Contributor
0 Kudos

Hi Anubhav,

Approach 1.

As said other contributors write routine at transformation level.

Approach 2.

You can control DTP failure by configuring DTP settings at "Update Tab".

Error handling , keep " Request Green , write error stack, update valid records".

so, DTP wont fail , however we need to check any error records in stack and edit and re-update with Error DTP.

Use below programs for easy maintenance:

RSB_ANALYZE_ERRORLOG --> to find DTP wise error records and count.

RSBM_ERRORLOG_DELETE --> to delete error stack.


Thank you,

Nanda

anubhav_kumar2
Explorer
0 Kudos

Thanks for the help guys.

However I have added 73 special characters that came in. Yet something new pops up now and then. I have asked the source team but I guess they would require a lot of coding at their level as well. I think SAP should increase the limit for RSKC.


Meanwhile, is asking the source system the only solution. Editing the routines wont help as I cannot predict for sure what new symbol will come up.

Loed
Active Contributor
0 Kudos

Hi Anubhav,

That's the purpose of this code:

DO length TIMES.
  
IF int_var+num(1) CN
  
',<>?/\:;"''ABCDEFGHI JKLMNOPQRSTUVWXYZ!%^&*()__+=1234567890'.
    int_var+num(1) = ''.

   ENDIF.

 

   num = num + 1.


ENDDO



If new characters appear other than the characters enclosed in single quote, they will be replaced with "SPACE"..

Are those "special characters" needed in your report? Because if not, we can just replace it with SPACE..

Regards,

Loed

swati_gawade
Contributor
0 Kudos

Hi Anubhav,

as per your reply, I am assuming that if source system too needs to change the logic then you do not need the characters that you are receiving. In that case you can simply replace those characters by space.

Else if you need those characters and are not sure of the new characters that may come then you can write a logic in transformation, maintain a transperant table which will contain the relationship between the special character and the character which will be the replacement. create logic to read this table and replace the special characters accordingly. Whenver a new character comes you can maintain entry in this table which will be used to convert the new special character.

Also as nanda suggested, you can set your DTP to 'Update valid records, request green' so that the system has the latest data while you resolve issue with special character.

Hope this helps.

-swati.

RamanKorrapati
Active Contributor
0 Kudos

Hi,

is it required those special languages into bw part?

if not then ask source team enter the correct data instead wrong/bad chars.

Thanks

Loed
Active Contributor
0 Kudos

Hi Anubhav,

Please refer in this code:

DATA : INT_VAR TYPE /BI0/OIPOSTXT.
DATA : length TYPE i.

DATA : num type i.

MOVE SOURCE_FIELDS-SGTXT TO INT_VAR.

TRANSLATE int_var TO UPPER CASE .


num = 0.


length
= STRLEN( int_var ).


DO length TIMES.
  
IF int_var+num(1) CN
  
',<>?/\:;"''ABCDEFGHI JKLMNOPQRSTUVWXYZ!%^&*()__+=1234567890'.
    int_var+num(1) = ''.

   ENDIF.

 

   num = num + 1.


ENDDO.


condense int_var NO-GAPS.


RESULT
= int_var.




Revise that code based on your scenario..Just post here for any queries..

For other solutions, please refer in this thread:

Regards,

Loed

KodandaPani_KV
Active Contributor
0 Kudos

Hi,

you are facing the issue because of the hexa decimal places and #&

but we can't find the hexa decimal places in BW system.

can you apply the some sample code it will aviod the errors.

CONDENSE RESULT NO-GAPS.

TRANSLATE RESULT TO UPPER CASE.

-Phani.