Symptom
Timesheet NOTE text containing multi-byte Unicode characters (all characters that are wider than 1 byte like emojis or the sign '#') positioned near the truncation boundary gets corrupted when truncated causing data inconsistencies.
Environment
SAP S/4HANA Cloud Public Edition.
Reproducing the Issue
- While recording the time using the app 'Manage My Timesheet' or the API API_MANAGE_WORKFORCE_TIMESHEET, the timesheet NOTE text entered is: qwerty qwerty qwerty qwerty 1234567891 😄
- The timesheet NOTE after truncation is saved as: qwerty qwerty qwerty qwerty 1234567891 # which leads to inconsistency.
Cause
- Emojis are multi-byte Unicode characters and Truncation logic is based on character length.
- When an emoji is positioned exactly at the truncation boundary, the character is split resulting in Unicode corruption stored as # in fixed-length fields.
Resolution
- Truncation logic is enhanced to prevent persistence of corrupted Unicode characters in timesheet records.
- For existing timesheet records which contain multi byte unicode character please create an incident in the component CA-TS-S4 for correcting the data.
Keywords
EMOJI, Multi byte unicode character, timesheet note, truncation, CA-TS-S4, CA-CPD-SS, CA-TS-CO-2CL, CA-TS-MM, API_MANAGE_WORKFORCE_TIMESHEET, Timesheet, Manage My Timesheet, I_TIMESHEETRECORD, SAP S/4HANA Cloud Public Edition. , KBA , CA-TS-S4 , Cross Application Timesheet in S/4HANA , CA-TS-MM , Integration External Services , CA-TS-CO-2CL , Integration Controlling (Public Cloud) , CA-CPD-SS , S/4HANA Public Cloud – Professional Service Projects , Problem
SAP Knowledge Base Article - Public