Skip to main content

SAP/ABAP - Unicode conversion

Due to expansion, my client is currently involved in Unicode conversion exercise which is due next week. The project has started quite a while back and as usual, most of the code changes had been outsourced to third party which seems to outsource it to you-know-where region. Anyway, found out that many of these programmers were interested in getting the codes past the syntax check and not more. 

Anyway, for those who are doing Unicode conversion, the following might be helpful:
  1. Transaction UCCHECK is available and very helpful to do a first time check on what needs to be changed in your coding.
  2. OSS Note/SAP Marketplace is the first place to pay a visit when you're working with copied version of standard code. There might be some codes that have been changed to reflect the Unicode support, especially if they've to do with file interfaces.
  3. Carriage return & line feed (CRLF) which has been denoted as hex '0D0A' all this while will fail during execution, change it to cl_abap_char_utilities=>cr_lf.
  4. Any calls to the old Function Modules WS_DOWNLOAD and WS_UPLOAD need to be changed to GUI_DOWNLOAD and GUI_UPLOAD.
  5. Any direct assignment of non-compatible structure will surely fail, do a casting instead, especially from type P to type C. 
  6. To make life easier, use method cl_abap_container_utilities=>fill_container_c to assign structure of mix types into a string/text.
  7. OPEN DATASET, for syntax which specify IN TEXT MODE, you need to add the ENCODING, the easiest is by DEFAULT, but if you found a syntax which does not specify the TEXT MODE, be very very careful. It might be opened in BINARY mode in previous release and need to be tested very carefully or otherwise, the file produced by your code will be garbled. There are few OSS notes related to this, check them out.


Popular posts from this blog

Raspberry Pi + svxlink = Low power echolink node

What is the easiest way to get echolink node up and running on raspberry pi? Surely, get a premade image which has everything inside. I've created one image which can fit into 2GB SD card for this, just follow the following steps to get it up and running:

For hardware, you need to have the following:
Raspberry Pi for sure, with a minimum 4GB SD cardA USB echolink interface, can be commercially sourced or DIY. There are many DIY schematics out there that you could follow.  Here is the configuration on how to get the things working together, courtesy of website:

For software:
Download the following prepared image from google drive, it is based on raspbian-2015-02-16 image and has pre-installed svxlink-14.08. raspi-wheezy-svxlink.img.zipUnzip the file and copy it to your SD card using the following instructions that can be found here.Boot up the RasPi, if you do not have an HDMI monitor, you may want to access the RasPi from your terminal emulator (putty or the like), connec…

Configuring TechniColor TG784N V3 (Maxis issued broadband router) to use different DNS servers

Previous write up deleted. It seems to change the DNS servers in as shown on the status, but it does not really work.

Check the following website, this seems to work:

This can be done from the WEB GUI too, go into the following configuration path:

In my example above, I'm using paid service unblock-us instead of google public DNS servers.

Debugging DMEE

I've come across many posting on the Internet (via google search), people asking on how to debug a DMEE for payment program. One of the few suggestion was to create a user exit just before the node that we would like to debug and put our breakpoint there. It seems that SAP has built-in this feature without needing us to create a user exit (available in ECC 6, have no idea if this is available on prior releases). Here is how you can put your breakpoint without any coding.

1. Display your DMEE tree using transaction: DMEE_DEBUG.

2. Click on the node that you would like to debug.
3. Go to conditions tab, you could see the Set Breakpoint button. Click to set.

4. Run the SAPFPAYM and specified the payment run date/id, payment format etc. SAP will stop at the node which you point your breakpoint at, as in 2.
5. To remove your breakpoint, just run the DMEE_DEBUG again, there is an option to delete all own breakpoints or all.