cancel
Showing results for 
Search instead for 
Did you mean: 

special charcter in infocube

Former Member
0 Kudos

Hi,

when i try to loading the data to ods iam getting special char repeatedly .even we checked every packet we could not get the any error . i gone through sdn i got some of routines to write transfer rule .is there effect to write these routines in production.

exampl1,

l_strlen = STRLEN( c_text ).

DO l_strlen TIMES.

IF c_text+l_offset(1) < ' '.

c_text+l_offset(1) = ' '.

ENDIF.

ADD 1 TO l_offset.

ENDDO.

xxxxxxxxxxxxxxxxxxxxxxxxxxxx

2,DATA : l_allow_char TYPE rsallowedchar-allowchar.

data: l_length type I,

l_act type i.

data l_txz01(40) type c.

if l_allow_char is initial.

CALL FUNCTION 'RSKC_ALLOWED_CHAR_GET'

IMPORTING

e_allowed_char = l_allow_char

EXCEPTIONS

OTHERS = 1.

endif.

l_txz01 = SOURCE_FIELDS-yyIHREZ.

TRANSLATE l_txz01 TO UPPER CASE.

if l_txz01 co l_allow_char.

RESULT = l_txz01.

Condense RESULT.

else.

l_length = strlen( l_txz01 ).

l_act = 0.

do l_length times.

if l_txz01+l_act(1) na l_allow_char.

l_txz01+l_act(1) = space.

endif.

l_act = l_act + 1.

enddo.

RESULT = l_txz01.

condense RESULT.

endif.

my issue actaully hexa decimal problem it showing rectangle symbol .can u plz guide me how to solve the issue

regards

RK

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Rama,

This code is written in TR. You need to select only the field for which the error is coming.

Thanks..

Shambhu

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Rama,

I was getting the same issue, which got resolved by using the Function module "SCP_REPLACE_STRANGE_CHARS" in the update rule for the Infoobject in which i was getting this issue.

Here is the full routine:

PROGRAM UPDATE_ROUTINE.

$$ begin of global - insert your declaration only below this line -

  • TABLES: ...

DATA: y type /BIC/AZREFSALE00-/BIC/Z_ATKX.

$$ end of global - insert your declaration only before this line -

FORM compute_data_field

TABLES MONITOR STRUCTURE RSMONITOR "user defined monitoring

USING COMM_STRUCTURE LIKE /BIC/CSZV_VBAP

RECORD_NO LIKE SY-TABIX

RECORD_ALL LIKE SY-TABIX

SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS

CHANGING RESULT LIKE /BIC/AZREFSALE00-/BIC/Z_ATKX

RETURNCODE LIKE SY-SUBRC "Do not use!

ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update

*

$$ begin of routine - insert your code only below this line -

  • fill the internal table "MONITOR", to make monitor entries

*break-point.

CALL FUNCTION 'SCP_REPLACE_STRANGE_CHARS'

EXPORTING

intext = COMM_STRUCTURE-/BIC/Z_ATKX

  • INTEXT_LG = 0

  • INTER_CP = '0000'

  • INTER_BASE_CP = '0000'

  • IN_CP = '0000'

  • REPLACEMENT = 46

IMPORTING

OUTTEXT = y

  • OUTUSED =

  • OUTOVERFLOW =

EXCEPTIONS

INVALID_CODEPAGE = 1

CODEPAGE_MISMATCH = 2

INTERNAL_ERROR = 3

CANNOT_CONVERT = 4

FIELDS_NOT_TYPE_C = 5

OTHERS = 6

.

IF sy-subrc <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

translate y to upper case.

  • result value of the routine

RESULT = y.

  • if abort is not equal zero, the update process will be canceled

ABORT = 0.

$$ end of routine - insert your code only before this line -

*

ENDFORM.

Hope it helps...

Former Member
0 Kudos

Rama,

Before you write the code, in tcode RSKC, give ALL_CAPITAL and execute. Now load the data. Hopefully, the error will not come this time.

If its not working, then write this code. There is no harm writing this code in production. But write this in development, test this code, and if working fine, transport this.

Thanks...

Shambhu

Former Member
0 Kudos

HI,

thank you very much for ure reply ,where ever you suggested all things have in RSKC but same error is coming . we have checked all packedts could not find any error .ods has been activated ,when the data loading ods to infocube is getting error.

can you please tell me where can i write this code like transfer rule ,UR etc. if i write the code in Transfer rule i need select particular field or need to select all fields .can u plz suggest me

regards

Rk

Former Member
0 Kudos

Hi Rama,

In ODS u are not getting this issue as its not available for BEX reporting...

U can write the code at the Update Rules from ODs to Cube.. for the object in which u are getting this special chars....but not for all the objects..

Thanks

ravikanth_indurthi
Active Contributor
0 Kudos

Hi Rama,

You need to identify the infoobject which consists the invalid characters. And just go to PSA and filter that Infoobject, you can view the # values in filter, just modify those invalid values and manually process to infocube.

Also you need to identify that particular record and change the invalid value in the source system, so that the problem will be fixed for ever.

Hope this helps.......................

Rgs,

I.R.K

Former Member
0 Kudos

Hi Rmama Krishna

First of all u have to check wich field have the special chars

Then go for That info object change it in general tab of the object select lower case check box and activate it

now u have to try to load it

Cheer

Former Member
0 Kudos

Hi experts,

good morning all !

This issue is coming repeatedly because huge amount of data almost 1100 packets . even we checked all packets unable to found that error .even i dont know much about ABAP .we have abaper to write this routine can you please suggets me where can i write this routine like transfer rule , update rule , infoobject.

Regards

RK

Former Member
0 Kudos

Hi Ram,

you can always write thsi type of routine's at transfer rule level. As you have an ABAPER with you, Ask him to find out the special character in that and replace the same with SPACE.

for this he can use the table RSALLOWEDCHAR for a lookup .

Hope this helps.

Thanks,

Krishna

Former Member
0 Kudos

Hi,

thank you very much for your reply & assigned points also.

regards

Rk

Former Member
0 Kudos

Hi Rama,

Try to add those special Chars in RSKC or in table RSALLOWEDCHAR... with that u can able to filter the special chars....

If u want to write a routine to filter the same then u need to make the changes from D to Q and to P finally..

U wont be having access to write a routine directly in Prod..

Thanks

Assign points if this helps