PSA data correction
I am trying to load some data into an ODS. For a field 'Insurance Type', there's some records in the source system that have some incorrect data. In these records, instead of the data 'Full Insurance', there's some hexadecimal characters (exactly how many I am not sure) in the beginning of the string 'Full Insurance'.
I want to delete these records in the PSA. I am searching in the PSA by setting a filter on this field. For the filter value, I tried giving a string starting with one/two/three '?' for single characters followed by Full* for the rest of 'Full Insurance' string, but I am not getting any hits. How can I filter these records in the PSA, to remove the hexadecimal characters from the records?
I think you are facing an invalid character issue.
This issue can be resolved by correcting the error records in PSA and updating it into the target. For that the first step should be to identify if all the records are there in PSA. You can find out this from checking the Details tab in RSMO, Job log , PSA > sorting records based on status,etc. Once its confirmed force the request to red and delete the particular request from the target cube. Then go to PSA and edit the incorrect records (correcting or blanking out the invalid entries for particular field InfoObject for the incorrect record) and save it. Once all the incorrect records are edited go to RSA1>PSA find the particular request and update to target manually (right click on PSA request > Start update immediately).
Identifying incorrect records.
First see RSMO > Details > Expand upate rules / processing tabs and you will find some of the error records.
Then you can go to PSA and filter using the status of records. Filter all the red requests. This may also wont show the entire incorrect records.
Then you can go to PSA and filter using the incorrect records.
If this also doesnt work out go to PSA and sort (not filter) the records based on the particular field with incorrect values and it will show all the records. Note down the record numbers and then edit them one by one.
If you want to confirm find the PSA table and search manually.
I will add the step by step procedure to edit PSA data and update into target (request based).
1. Force the request to red in RSMO > Status tab.
2. Delete the request from target.
3. Come to RSMO > top right you can see PSA maintenace button > click and go to PSA .
4.Edit the record
5. Save PSA data.
6. Got to RSA15 > Search by request name > Right click > update the request from PSA to target.
This should solve your problem for now.
As a long term you can apply some user exit in source system side or change your update rules to ensure that this field is getting blanked out before getting loaded in cube or add that particular achr to permitted character list in BW (Run TCODE RSKC
Input the <character> and execute the program) This will add <character> to the allowed characters list.
RSKC --> type ALL_CAPITAL --> F8 (Execute)
Run the report RS_ERRORLOG_EXAMPLE,By this report you can display all incorrected records of the data & you can also find whether the error occured in PSA or in TRANSFER RULES.
Go to SE38 and execute the program RSKC_ALLOWED_CHAR_MAINTAIN.