cancel
Showing results for 
Search instead for 
Did you mean: 

Special Characters

Former Member
0 Kudos

I am loading into a DSO via flat file. In the flat file, there is a record with a strange character:

credit denied. 04/01/09 âu20ACu201C We pulled the

When I pull the data into the PSA, it looks like this:

credit denied. 04/01/09 a## We pulled the

When it goes from the PSA to the DSO, it looks like this

CREDIT DENIED. 04/01/09 Âu20ACu201C WE PULLED THE

The only transformation rule for the for that field is TOUPPER.

I have also tried to enter u20AC into the permitted characters, but when I execute it, it converts from u20AC to #.

What is strange to me, is I don't have any trouble loading this file into BW. We get the error regarding invalid character when we execute the query.

I would have thought if BW does not like the character, it would not allow me to load it into the DSO.

Thanks, Keith J

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

Couple of things. In our development system, I used ALL_CAPITAL_PLUS_HEX and it seems to handle my weird characters. But what is the downside of using this?

Also, on the routine, is it just a routine that says any weird char, just replace with a blank, or do I have to be able to identify the weird characters? Also, I already have the TOUPPER routine. Can I just add another routine, and is there a routine for this, or do I have to use ABAP?

Thanks

former_member208595
Active Participant
0 Kudos

Hi,

refer this- SAP Note 173241 - Allowed characters in the BW System. You have to edit these strange characters in PSA or in the flat file.

dennis_scoville4
Active Contributor
0 Kudos

In our development system, I used ALL_CAPITAL_PLUS_HEX and it seems to handle my weird characters. But what is the downside of using this?

The use of ALL_CAPITAL or ALL_CAPITAL_PLUS_HEX is very powerful and the potential downside is that it will allow characters to be introduced into data on your data warehouse that you may not want or should really be considered hard errors.

Also, on the routine, is it just a routine that says any weird char, just replace with a blank, or do I have to be able to identify the weird characters? Also, I already have the TOUPPER routine. Can I just add another routine, and is there a routine for this, or do I have to use ABAP?

If you want to determine if there is an invalid character, without having the single entry for RSKC (ALL_CAPITAL or ALL_CAPITAL_PLUS_HEX), you can create an ABAP Routine (TOUPPER is a Formula). Here's some sample code for BI 7 Characteristic Rule and it also has the ABAP Routine code for converting to upper case (you can't use a routine and formula for the same target Characteristic):

Global Declarations


DATA: l_allow_char TYPE rsallowedchar-allowchar,
      l_length type i,
      l_act type i,
      l_ytext(8) type c.

Routine


CLEAR  l_allow_char.

CALL FUNCTION
  'RSKC_ALLOWED_CHAR_GET'
IMPORTING
  e_allowed_char = l_allow_char.

l_ytext = source_fields-ytext.

TRANSLATE l_ytext TO UPPER CASE.

IF l_ytext CO l_allow_char.

  CONDENSE l_ytext.

  RESULT = l_ytext.
ELSE.

  l_length = strlen( l_ytext ).

  l_act = 0.

  DO l_length TIMES.

    IF l_ytext+l_act(1) NA l_allow_char.

      l_ytext+l_act(1) = SPACE.

    ENDIF.

    l_act = l_act + 1.

  ENDDO.

    CONDENSE l_ytext.

    RESULT = l_ytext.

ENDIF.

Former Member
0 Kudos

Just a question on the routine that was showed above. Do I need to change any declarations on the data? For example, l_ytext variable should be changed to be the same as the incoming values?

I also tried using the code and I am still getting some invalid characters. I am getting them on the first character of the text I am loading. Can anyone help me if there should be changes on the code?

I tried looking on the ABAP help and trying to understand how ABAP syntax works but I can't seem to find the problem if there is one.

Thanks,

Chino Datu

former_member208595
Active Participant
0 Kudos

Hi,

Mantain ALL_CAPITAL in tcode- RSKC of your BW system . Check with your data migration team whether these invalid characters are valid or not. If you require, then edit these characters in the PSA & load to DSO.

Edited by: Asish Sahu on Aug 19, 2009 2:34 PM

Former Member
0 Kudos

Hey,

If anything wont help you in eliminating the invalid characters, then a routine would help you. Just replace those invalid characters with their equivalent ones or else just replace them with a blank space if you donot need them using a routine in transformations.

Regards,

Anjum.

Former Member
0 Kudos

You mean to actually type in ALL_CAPITAL_PLUS_HEX in the special char field?

ALso, will this take care of 1/4 values? thanks

dennis_scoville4
Active Contributor
0 Kudos

Correct...Having only the value ALL_CAPITAL_PLUS_HEX should enable all special characters including some HEX values that aren't allowed with ALL_CAPITAL. There is one caveat, however. If the character is part of a language set (e.g. umlauts in German), that language has to be identified/active in the SAP BW environment.

dennis_scoville4
Active Contributor
0 Kudos

Do you have the value ALL_CAPITAL or ALL_CAPITAL_PLUS_HEX in RSKC? One of these values should be the only value you have in RSKC. That should eliminate your issue.