cancel
Showing results for 
Search instead for 
Did you mean: 

DSO activation failure - Invalid characteristic

Former Member
0 Kudos

Hi Experts,

DSO is getting failed at SID activation level.

Error is as below -

Value " _____________________________________" (HEX 0A5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F) of characteristic ZPCAITMTX contains an error at position 1

Message no. BRAIN290

Diagnosis

Characters that have a hexadecimal display between HEX00 and HEX1F are not permitted in characteristic values. The character at position 1 is one of these characters. The value is therefore not permitted.

Note that these characters cannot be displayed and are therefore displayed as '#'. The actual character '#' has the hexadecimal display HEX23.

Data Flow--> ECC to PSA and then to DSO;

I'm not able to find this erroneous record in PSA & if its something like # or Special characteristic, i could easily edited in PSA and loaded to DSO.

I tried to find this record in PSA by CTRL+F with "------", but of no use.

The load is getting failed at SID activation level not at DTP level;

Its been 3 days that i'm not able to rectify. Please do not suggest for routines; apart from this any other inputs pls.

Please provide any inputs.

Thanks,

Radhika

Procedure

Accepted Solutions (0)

Answers (7)

Answers (7)

Former Member
0 Kudos

Hi,

Go to PSA manage and display PSA data

find the infoobject and find the invalid char(you can use search by copying the invalid char from the error)) in the particular field ZPCAITMTX

correct it and reload the data to the DSO

Regards,

Indra

KodandaPani_KV
Active Contributor
0 Kudos

Hi,

please look at the below code

below code change the source field name which field you required. ex- RESULT = SOURCE_FIELDS-XXXXXXXXX.

i applied same code, it is working......

DATA: l_d_length like sy-index.
DATA: l_d_offset LIKE sy-index.

DATA: CharAllowedUpper(60) TYPE C.
DATA: CharAllowedLower(60) TYPE C.
DATA: CharAllowedNumbr(60) TYPE C.
DATA: CharAllowedSondr(60) TYPE C.
DATA: CharAllowedAll(240) TYPE C.

CharAllowedUpper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZÄÜÖ'.
CharAllowedLower = 'abcdefghijklmnopqrstuvwxyzäüöß'.
CharAllowedNumbr = '0123456789'.

CharAllowedSondr = '!"§$%&/()=?{[]}\u00B4`*+~;:_,.-><|@'''.

CONCATENATE CharAllowedUpper CharAllowedLower CharAllowedNumbr
CharAllowedSondr INTO CharAllowedAll.

RESULT = SOURCE_FIELDS-XXXXXXXXX.

l_d_length = strlen( RESULT ).

IF NOT RESULT CO CharAllowedAll.

DO l_d_length TIMES.

l_d_offset = sy-index - 1.


IF NOT RESULT+l_d_offset(1) CO CharAllowedAll.

RESULT+l_d_offset(1) = ''.
CONDENSE RESULT NO-GAPS.

ENDIF.

ENDDO.

endif.

Thanks,

Phani.

former_member185132
Active Contributor
0 Kudos

Filter the data in the PSA (either in the ALV output or by selecting filters from the PSA Manage screen), enter the following in the "Exclude Range" option

A*-Z*

a*-z*

Also exclude blanks. By doing this, you'll narrow down the data considerably and will be able to find the error records.

The above is a short term solution only; for permanent solution either a routine must be written, or users must be trained to not enter spl characters in the source data.

former_member183012
Active Contributor
0 Kudos

Hi Radhika,

Please search on google before posting .you will get lot of threads with same problem..

1)solution to such problem you need to modify psa remove special char and then load

2)write routine to aovid special chars

3)ask R/3 team if you are facing issue lot of time so that they will take care at source system level.

Regards,

Ganesh Bothe

Former Member
0 Kudos

hi Radhika,

I think its a hide invalid characterstics,  two ways is there u can do manual edit in psa

or

use routine to delete invalid characterstics.

DATA A

TYPE /BIC/OIGTXDESCIT

.


DATA : L_LEN TYPE i,
      L_TIME
TYPE i.
CONSTANTS: c_40 TYPE I VALUE 40.
MOVE SOURCE_FIELDS-DESTINATIONCITY TO A.
TRANSLATE A TO UPPER CASE.
MOVE c_40 TO L_LEN.
DO L_LEN TIMES.

  
IF A+L_TIME(1) CN
    
',<>?/\:;"''ABCDEFGHI JKLMNOPQRSTUVWXYZ!%^&*()__+=1234567890'.
A+L_TIME
(1) = '~'.

  
ENDIF.

L_TIME
= L_TIME + 1.

ENDDO.

 
REPLACE ALL OCCURRENCES OF '~' IN a WITH space.
CONDENSE A.
MOVE A TO RESULT.

Regards,

Abdul rawoof Syed.

fcorodriguezl
Contributor
0 Kudos

Hi Radhika,

This problem sucess when your dso is standard, because does not allow special characters for sids.

For solve this problem you need use dso optimized write or in this case, only need add a routine in your field.

Check this:

lv_string = 'hola####'

REPLACE ALL OCURRENCES OF '#' IN lv_string WITH ''.

I hope helps.

Regards.

0 Kudos

Hi

Use the code in transformation:

DATA: L_ALL_ALLOWED_CHAR(58) TYPE C VALUE

 
' !"%&''()*+,-./:;<=>?_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',

      L_STR_INCREMENT
TYPE I,

      L_RESULT_STR_LEN
TYPE I,

     
INPUT(20) type c.



   
INPUT = SOURCE_FIELDS-ZPCAITMTX .

    L_RESULT_STR_LEN
= STRLEN( INPUT ).

  L_STR_INCREMENT
= 0.

 
WHILE L_STR_INCREMENT LE L_RESULT_STR_LEN.

   
IF NOT INPUT+L_STR_INCREMENT(1) CO L_ALL_ALLOWED_CHAR.

      INPUT+L_STR_INCREMENT
(1) = ' '.

   
ENDIF.

   
ADD 1 TO L_STR_INCREMENT.

 
ENDWHILE.



RESULT
= INPUT.

Former Member
0 Kudos

Hi Radhika,

  • Sometimes you cannot able to find the special character '#,--' at PSA itself .
  • Just export data from  PSA to excel sheet then you can able to find the special characters.
  • Then do edit in PSA and load it again to target.
  • But that delete the Red request from target.

Thanks,

Somesh.