Skip to Content
Author's profile photo Venkata Ramana Paidi

SAP DS code page settings steps

Recent days I am working with a source database that contains Arabic data.   If a source is a flat file and a target is template table, we need to set source flat format code page settings to be cp1256 and target table settings enable support nvarchar(if  it is MS SQL server) template tables.

But we will face a lot of issues when we are migrating the data from one database to another database with different code page (char set) settings.      I have worked recently with MS SQL server, Oracle & Sybase ASE as the source database and Sybase IQ as the target.   I have worked the source code pages   for oracle are AL32UTF8 and ARISO8859P6, Sybase ASE is UTF8 and MSSQL Server is Arabic_CI_AI_KS etc.

While handling the code page, we need to keep mind the below points else we may face the junk characters issue.  Here I am giving example for Arabic data and we can change it other character sets accordingly. SAP Data Services job server code page by default Unicode. No need to change the settings. If you give UTF-8  as server setting it won’t be affected.

  • Source database code page and need to set datastore code page settings accordingly.

For Oracle, we need to get code page (char set) using below command


If Code page is : ARISO8859P6


Language: we can mention the language Arabic etc depending on the code page.

Code page: Database code page iso-8859-6

Server code page:  Job server code page. We can keep as default or we can set UTF-8 if we change in the DSconfig file .

If code page is: AL32UTF8


  • Target database code page and need to set datastore code page settings accordingly

For Sybase IQ:

                Select db_property(‘Collation’)


select db_property(‘CharSet’)




  • Use the environment variables related to databases if required. For example oracle database NLS_LANG environment variable required.  For MS SQL Server, Sybase ASE & IQ not required of any environment variables.


NLS_LANG should be sync with OS char set settings and source database code settings if the source is Oracle.

In the above case, AMERICAN is English language and AMERICA is regional setting.

  • Set the charset options in the ODBC settings. ODBC settings are depending on the database.  For Sybase IQ setting are required but for Oracle , SQL server not required.



  • Set the region & language settings in the control panel.


But for the above NLS_LANG settings current system locale should be like below.


  • As per the region & language settings in the control panel need to provide the settings in the Data Services Locale selector. Data Services Locale Selector settings written to the DSConfig file. System regional & language settings and DSConfig locale settings should match.


Based on the system local, our data services local selector should be there.  Language and territory in the Arabic (Saudi Arabia) in region settings and we gave the same in the in DS settings. Once we give our DSConfig file looks should be like this.


  • Restart the system as we are changing the system settings.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Do Hai Dang Le
      Do Hai Dang Le

      Hi Ramana, the setting of NLS_LANG in enviroment variable is done in the server machine of DS right?

      Author's profile photo Venkata Ramana Paidi
      Venkata Ramana Paidi
      Blog Post Author

      Hi  Do Hai Dang Le,


      We need to give NLS_LANG setting in the DS machine.


      Thanks & Regards,




      Author's profile photo Former Member
      Former Member

      HI Ramana,

      Please help me on code page issue.

      Description: In my case oracle database is source and target . I can see the correct values (24 different country language characters) in database level but same data not reflecting into data services source datastore connection and it’s converting into ???.

      I have tried with changing the datastore code page properties with utf-8 in source side and target side but not getting expected result.

      Oracle database is AL32UTF8 code page

      Please help me how to resolve this issue.






      Author's profile photo Werner Dähn
      Werner Dähn

      Looks to me as if the NLS_LANG is not set to a unicode codepage.


      • What does the regedit show? (HKEY_LOCAL_MACHINE/Software/Oracle/NLS_LANG)
        (On the computer where designer is installed and on the jobserver computer, both!) This entry should exist and show a UTF-8 codepage.
      • What is the datastore setting for the Oracle datastore in regards to locale? Should be UTF-8 also, matching the driver.

      btw, don't trust the data preview in the Designer. The Windows installation might not be able to render all characters. That's not the case here, because it is the Oracle driver that changes unknown chars to ?-chars.