on 12-03-2014 4:13 PM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Radhika,
Thanks,
Somesh.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.