As part of a requirement, we are generating a message log handle every time a custom program is run to log messages.
The FM used is BAL_LOG_CREATE which internally calls FM GUID_CREATE. Now the requirement is to consume the GUID of type GUID_22 generated by this FM.
GUID_CREATE internally generates a GUID of type GUID_16 and then converts it to type GUID_22. In some cases, the output of the GUID_22 type has a special character '}' in the output, which is causing the applications to crash.
To replicate, I have written a small snippet
DATA lv_guid_22 TYPE guid_22.
PARAMETERS: p_num TYPE i.
DO p_num TIMES.
CALL FUNCTION 'GUID_CREATE'
ev_guid_22 = lv_guid_22.
if this is executed for a large P_NUM, lets say 200, in the output you can see GUIDs with '}' in them. This is causing some applications working with the GUID to short dump.
Is there any way to avoid this special character - or do I have to manually check each GUID generated for special character and replace it?