SIK Transport files and None unicode SAP system

Dear all,
I have a question about SIK Transport files.
As you know, when we install BOE SIK,we need transport some files into SAP system.
There is  a TXT file for describing how to use SIK transport files in SAP system.
I found that there is no detail about none unicode SAP system in this TXT file.
All of them is about unicode.
If your SAP system is running on a BASIS system earlier than 6.20, you must use the files listed below:
(These files are ANSI.)
Open SQL Connectivity transport (K900084.r22 and R900084.r22)
Info Set Connectivity transport (K900085.r22 and R900085.r22)
Row-level Security Definition transport (K900086.r22 and R900086.r22)
Cluster Definition transport (K900093.r22 and R900093.r22)
Authentication Helpers transport (K900088.r22 and R900088.r22)
If your SAP system is running on a 6.20 BASIS system or later, you must use the files listed below:
(These files are Unicode enabled.)
Open SQL Connectivity transport (K900574.r21 and R900574.r21)
Info Set Connectivity transport (K900575.r21 and R900575.r21)
Row-level Security Definition transport (K900576.r21 and R900576.r21)
Cluster Definition transport (K900585.r21 and R900585.r21)
Authentication Helpers transport (K900578.r21 and R900578.r21)
The following files must be used on an SAP BW system:
(These files are Unicode enabled.)
Content Administration transport (K900579.r21 and R900579.r21)
Personalization transport (K900580.r21 and R900580.r21)
MDX Query Connectivity transport (K900581.r21 and R900581.r21)
ODS Connectivity transport (K900582.r21 and R900582.r21)
If our SAP BASIS system  is beyond 6.20,but iit is not unicode system.
Could we use these transport files to none unicode SAP system ?
Thanks!
Wayne

Hi Wayne,
the text and the installation guide is clearly advising based on the version of your underlying BASIS system and differentiates 620 or 640 and higher.
so based on the fact that you system is a BI 7 system you are in the category of a 640 (or higher) basis system and therefore you have to use the Unicode ENABLED transports.
ingo

Similar Messages

  • How to read a Unicode text file in a non-unicode SAP system

    I'm currently has a text file which is saved as UTF-8 format. And inside this file has Thai characters.
    However, my SAP system is a non-unicode system.
    When I use the code
    open dataset DSN for output in TEXT MODE encoding UTF-8
    the thai characters become some funny characters.
    How can I solve this in the ABAP program without changing the system from non-unicode to unicode system?

    Hi Eswar,
       How can I check whether the code page for THAI already installed or not in SAP system?
       Here is the code I use to test to read a file that saved as UTF-8.
    DATA: l_filepath         TYPE string.
    DATA : BEGIN OF l_filepath_str OCCURS 0,
                 comm(1000)  TYPE c,
               END OF l_filepath_str.
    DATA: l_datasetsucc LIKE rlgrap-filename.
    l_filepath = '/BAAC/Files/APP_.txt'.
    OPEN DATASET l_filepath FOR INPUT IN TEXT MODE ENCODING UTF-8.
    IF sy-subrc EQ 0.
      DO.
        CLEAR l_filepath_str.
        READ DATASET l_filepath INTO l_filepath_str.
        IF sy-subrc EQ 0.
          APPEND l_filepath_str.
        ELSE.
          EXIT.
        ENDIF.
      ENDDO.
    ELSE.
      WRITE:/ 'Error reading from file:', sy-subrc.
    ENDIF.
    CLOSE DATASET l_filepath.
    LOOP AT l_filepath_str.
      WRITE: / l_filepath_str-comm.
    ENDLOOP.
        It returns me a runtime error. Any idea?

  • Java.io.File and non-unicode characters in file name

    Unix filesystem object names are byte sequences. These byte sequences are not required to correspond to any character sequence in the current or any locale. How do I open a file if it has characters that do not corrospond to a valid unicode encoding for some current locale? Unless I am missing something, if I do a list on a parent directory that has some file names like this, those file names do not get added to the list. Hmmm....
    R.

    OK, create.c is a program that will create a file whose name is not a character in the 'ja' locale.
    Lister.java defines a class that lists files in the current directory. For each file, it spits out the 'toString()' version of the file, the char array of the name as hex, and the 'getBytes' byte array of the name.
    So, what you can do is compile and run create.c, which will create a file whose name is a single byte whose hex value is 99. Then compile and run Lister.java, which will give you the following output (shown for two different locales:
    $ export LANG=
    $ java Lister
    name:?; chars:99,; bytes:99,
    $ export LANG=ja
    $ java Lister
    name:?; chars:fffd,; bytes:3f,
    ---------------------------------------------Note that when running in the JA locale, there is no character corresponding to byte value 0x99. So, Java uses the replacement character 0xFFFD, and the '?' character 0x3F, as a replacement.
    The point is that there are files which Java cannot uniquely represent as a straight String. I suppose we could get the filename via JNI, do the conversion ourselves, and then use the private-use area of Unicode to encode all our strings, but ugh.
    //create.c
    #include <stdio.h>
    int main()
       const char* name = "\x99";
       FILE* file = fopen( name, "w" );
       if( file == NULL )
          printf( "could not open file %s\n", name );
          return 1;
       fclose( file );
       return 0;
    // Lister.java
    import java.io.*;
    public class Lister
        public static void main( String[] args )
            new Lister().run();
        public void run()
            try
                doRun();
            catch( Exception e )
                System.out.println( "Encountered exception: " + e );
        private void doRun() throws Exception
            File cwd = new File( "." );
            String[] children = cwd.list();
            for( int i = 0; i < children.length; ++i )
                printName( children[ i ] );
        private void printName( String s )
            System.out.print( "name:" );
            System.out.print( s );
            System.out.print( "; chars:" );
            printCharsAsHex( s );
            System.out.print( "; bytes:" );
            printBytesAsHex( s );
            System.out.println();
        private void printCharsAsHex( String s )
            for( int i = 0; i < s.length(); ++i )
                char ch = s.charAt( i );
                System.out.print( Integer.toHexString( ch ) + "," );
        private void printBytesAsHex( String s )
            byte[] bytes = s.getBytes();
            for( int i = 0; i < bytes.length; ++i )
                byte b = bytes[ i ];
                System.out.print( Integer.toHexString( unsignedExtension( b ) ) + "," );
        private int unsignedExtension( byte b )
            return (int)b & 0xFF;
    }

  • Unicode and Non-Unicode Instances in one Transport Landscape

    We have a 4.7 landscape that includes a shared global development system supporting two regional landscapes.  The shared global development system is used for all ABAP/Workbench activity and for global customization used by both regional production systems.  The two regional landscapes include primarily three instances - Regional Configuration, Quality Assurance, and Production.  The transport landscape includes all systems with transport routes for global and regional.
    A conversion to unicode is also being planned for the global development and one regional landscape.  It is possible that we will not convert the other regional landscape due to pending discussions on consolidation.  This means one of the regional landscapes will be receiving global transports from a unicode-based system.  
    All information I've located implies no actual technical constraints.  Make sure you have the right R3trans versions, don't use non-Latin_1 languages, etc.  Basic caveats for a heterogenous environment ....
    Is anyone currently supporting a complete, productive landscape that includes unicode and non-unicode systems?   If so, any issues or problems encountered with transports across the systems?  (insignificant or significant)
    Information on actual experiences will be greatly appreciated ....
    Many thanks in advance.

    Hi Laura,
    Although i do not have the live / practical experience, but this is what i can share.
    I have been working on a Non-Unicode to Unicode conversion project. While we were in the discussion phase there was one such possibility of a scenario that part of the landscapes would remain non-unicode. So based on the research i did by reading and directly interacting with some excellent SPA consultants, i came to know there are absolutely no issues in transporting ABAP programs from a Unicode system to non-unicode system. In a Unicode system the ABAP code has already been checked and rectified for higher syntax checks and these are downward compatible with the ABAP code on lower ABAP versions and non-unicode systems. Hence i beleive there should not be any issues, however as i mentioned this is not from practical experience.
    Thanks.
    Chetan

  • Client Copy between unicode system and non-unicode system

    Hello,
    we have to build up a new system for japan. It is planned to install a new 4.7Ext200 unicode system and then make a client copy from a non-unicode 4.7Ext200 (language= german, english) system to the unicode system. I don't think that this is possible way, but I can't find information regarding client copies from non-unicode to unicode. I would advice the project to convert the existing non-unicode system to unicode, make a system copy for the new system and then install japan languages. Any information, which can help me.
    Regards,
    Alexander

    Hi,
    without conversion client copy is not possible
    look at following
    Re: Client copy between unicode and Non-unicode
    regards,
    kaushal

  • Can we install XI3.0 SR1 on a NON-UNICODE SAP ABAP + Java System

    Hello,
    I am trying to install XI 3.0 SR1 but i don't have an UNICODE SAP ABAP + Java System. So my question is, that is it possible to install XI on a NON-UNICODE SAP ABAP + JAVA Syatem?

    Xi 3.0 is an non unicode system, so i guess you can start installing the Xi3.0.....
    might be helpfull
    https://websmp201.sap-ag.de/unicode.
    Message was edited by:
            Nisar Khan

  • Substring between unicode and non-unicode

    Hi, experts,
    We are upgrading our system from 4.7 to 6.0 in chinese, but after that, there is a problem:
    we have a program which hadle some txt files which create by an non-sap and non-unicode system,
    for example, there is a line contains '你好      1234', we will extract the information as below:
    data: field1 type string, field2 type string.
    field1 = line+0(10).
    field2 = line+10(4).
    the result in 4.7 is:
    field1 = '你好'
    field2 = '1234'
    but, in ECC, field1 is '你好12'  and field2 is '34'.
    can any one help me? thank you!

    hey, max, thanks for your help!
    I am sorry I did not show my question clearly!
    There are 6 space between '你好' and '1234 in the line '你好 1234', and in the top 10 charaters of this string line, may be all numbers, may be all chinese charaters, may be numbers and chinese charaters together.
    in 4.7, line+0(10) aways correct, but in ECC, because it is a unicode system, so, it is correct only when the string is all single-byte charaters but not any double-byte charaters.

  • Unicode and non-unicode

    WHAT IS DIFFRENTS BETWEEN UNICODE AND NON UNICODE ?
    BRIEFLY EXPLAIN ABOUT UNICODE?
                                                            THANKS IN ADVANCES

    A 16-bit character encoding scheme allowing characters from Western European, Eastern European, Cyrillic, Greek, Arabic, Hebrew, Chinese, Japanese, Korean, Thai, Urdu, Hindi and all other major world languages, living and dead, to be encoded in a single character set. The Unicode specification also includes standard compression schemes and a wide range of typesetting information required for worldwide locale support. Symbian OS fully implements Unicode. A 16-bit code to represent the characters used in most of the world's scripts. UTF-8 is an alternative encoding in which one or more 8-bit bytes represents each Unicode character. A 16-bit character set defined by ISO 10646. A code similar to ASCII, used for representing commonly used symbols in a digital form. Unlike ASCII, however, Unicode uses a 16-bit dataspace, and so can support a wide variety of non-Roman alphabets including Cyrillic, Han Chinese, Japanese, Arabic, Korean, Bengali, and so on. Supporting common non-Roman alphabets is of interest to community networks, which may want to promote multicultural aspects of their systems.
    ABAP Development under Unicode
    Prior to Unicode the length of a character was exactly one byte, allowing implicit typecasts or memory-layout oriented programming. With Unicode this situation has changed: One character is no longer one byte, so that additional specifications have to be added to define the unit of measure for implicit or explicit references to (the length of) characters.
    Character-like data in ABAP are always represented with the UTF-16 - standard (also used in Java or other development tools like Microsoft's Visual Basic); but this format is not related to the encoding of the underlying database.
    A Unicode-enabled ABAP program (UP) is a program in which all Unicode checks are effective. Such a program returns the same results in a non-Unicode system (NUS) as in a Unicode system (US). In order to perform the relevant syntax checks, you must activate the Unicode flag in the screens of the program and class attributes.
    In a US, you can only execute programs for which the Unicode flag is set. In future, the Unicode flag must be set for all SAP programs to enable them to run on a US. If the Unicode flag is set for a program, the syntax is checked and the program executed according to the rules described in this document, regardless of whether the system is a US or a NUS. From now on, the Unicode flag must be set for all new programs and classes that are created.
    If the Unicode flag is not set, a program can only be executed in an NUS. The syntactical and semantic changes described below do not apply to such programs. However, you can use all language extensions that have been introduced in the process of the conversion to Unicode.
    As a result of the modifications and restrictions associated with the Unicode flag, programs are executed in both Unicode and non-Unicode systems with the same semantics to a large degree. In rare cases, however, differences may occur. Programs that are designed to run on both systems therefore need to be tested on both platforms.
    Refer to the below related threads
    Re: Why the select doesn't run?
    what is unicode
    unicode
    unicode
    Regards,
    Santosh

  • RFC SDK, connect with japanese username to a unicode SAP system

    Hello everybody,
    I try to connect with a japanese username to a unicode SAP system. I use VC++ and make the call like this:
         BYTE utf8_byteArray[10] = {0xE3, 0x81, 0x8A, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x99, 0x00 };
         CString sJapUser(utf8_byteArray);
         sConnectParam.Format( cU("CLIENT=%s USER=%s PASSWD=%s LANG=%s SYSNR=%d ASHOST=%s PCS=2"),
                             "800",
                             sJapUser,
                             "password",
                             "EN",
                             1,
                             "9.22.104.145");
         hRfc = ::RfcOpenEx( (char*)(LPCTSTR)sConnectParam, &error_info);
    I tried it with different codepages and PCS settings (1/2) too but i always get the error:
    "Name or password is incorrect (repeat logon)"
    When I connect to a non unicode japanese system in locale encoding it works.
    Another thing i saw is that the utf8 string is truncated after 12 bytes (12 character/bytes is the limit of user name length). When I use a japanese username with 6 japanese symbols (18 bytes in utf8) I see the following in the RFC trace:
    rfcOpenHooked
        destination             <unknown>
        mode                    3
        conopt 3 hostname       9.22.104.145
        conopt 3 sysnr          1
        conopt 3 use_l_bal      0
        conopt 3 use_sapgui     0
        client                  800
        user                    おすすめ (here the username misses 2 japanese characters)
        language                E
        trace                   0
    L-GetCodePage (DEFAULT-CP) rc = 0: 1100
    Here the username is correct:
    >>> RfcOpenEx ...
    Got following connect_param string:
       CLIENT=800 USER=おすすめダウ PASSWD=******* LANG=EN SYSNR=1 ASHOST=9.22.104.145 CODEPAGE=4110 PCS=2
    Send RFCHEADER: 01/LIT/IEEE/SPACE/4110
    Send UNICODE-RFCHEADER: cp:4110/ce:IGNORE/et:5/cs:1/rc:0x00000023
    In the RFC trace the username is truncated (only 12 bytes(4 characters) instead of 18 bytes (6 characters))
    000160 | 44657369 676E0130 0111000C E3818AE3 |Design.0........|
    000170 | 8199E381 99E38281 01110117 000C905F |..............._|
    000180 | E417BBAC 1DDD543E CE540117 01140003 |......T>.T......|
    To connect with japanese usernames using the SAP-GUI works fine but the rfc traces show that the connection is established in another way.
    Can anyone help me with this or is it just impossible to use japanese usernames for logon with RFC.
    Thank you in advance.

    Please note the header of this forum: "This forum is dedicated to all other development-related questions which are not directly addressed by other forums. This includes Business Objects SDKs, products, or technologies which do not fall under BusinessObjects Enterprise, BusinessObjects Edge, Crystal Reports Server, or Crystal Reports (for example Desktop Intelligence SDK, Universe Designer SDK, Portal Integration Kits, Java User Function Libraries, and other third party technologies or development languages). "
    I do not think you are using any of the products described above. Please post to the correct forum.
    Ludek

  • Unicode ERP and non-unicode Dealer Business Management 5.00(DBM)

    Hi All,
    We are going to adapt SAP Dealer Business Management 5.00(DBM)industry-specific solution to our local(serbian)language.For this we need following install steps:
    1.ERP ECC 5.0
    2.DIMP ECC 5.0
    3.DBM 5.0
    Is it possible to proceeds on sach way because we have Unicode ERP ECC 5.0, but on other hand DBM 5.0 is non-unicod?
    In case it is possible, please give me some ideas on it.
    Thanks in advance
    Predrag

    Hi Predrag,
    How is DBM installed?  In the same system as an add-on or a separate system?  If it's an add-on, then they would have to have the same codepage.  If it's in a separate system, then there are some possible data loss "issues" when the sending system is Unicode and the receiving system is non-Unicode.  If the sending system sends a character that is not on the recieving system's codepage, the data is "garbage".  There are no such problems with Unicode->Unicode and non-Unicode->Unicode communication.
    Best Regards,
    Matt

  • Differnce between unicode and non unicode

    Hi every body i want to differnce  between unicode and non unicode and for what purposes this ulities are used explain me little brief what is t code for that , how to checj version, how to convert uni to non uni ?
    Advance Thanks
    Vishnuprasad.G

    Hello Vishnu,
    before Release 6.10, SAP software only used codes where every character is displayed by one byte, therefore character sets like these are also called single-byte codepages. However, every one of these character sets is only suitable for a limited number of languages.
    Problems arise if you try to work with texts written in different incompatible character sets in one central system. If, for example, a system only has a West European character set, other characters cannot be correctly processed.
    As of 6.10, to resolve these issues, SAP has introduced Unicode. Each character is generally mapped using 2 bytes and this offers a maximum of 65 536 bit combinations.
    Thus, a Unicode-compatible ABAP program is one where all Unicode checks are in effect. Such programs return the same results in UC systems as in non-UC systems. To perform the relevant syntax checks, you must activate the "UC checks" flag in the screens of the program and class attributes.
    With TC: /nUCCHECH you can check a program set for a syntax errors in UC environment.
    Bye,
    Peter

  • About unicode and non-unicode

    Hi experts,
    can anybody tell me
    what is unicode and non-unicode in interview point of view.Just 2 or 3 sentences....
    Thanks in advance

    unicode is for multilingual capability in SAP system,
    apart from that important unicode t.code is uccheck if you give report name we will get different error codes,in genaral we get an error of structures miss match,obsolute statemnts,open data set,describe ststment and so on
    more over you can say we delete all obsolute function modules, look at the following it may help you
    Before the Unicode error
       lt_hansp = lt_0201-endda0(4) - lt_0002-gbdat0(4).
    Solution.
    data :abc type i,
          def type i.
    move  lt_0201-endda+0(4) to abc.
    move    lt_0002-gbdat+0(4) to def.
    lt_hansp-endda = abc - def.
    Before the Unicode error:
       WRITE: /1 'CO:',CO(110).
    Solution.
    FIELD-SYMBOLS: <fs_co> type any.
    assign co to <fs_co>.
    WRITE: /1 'CO:',<fs_co>(110).
    DESCIBE002     In Unicode, DESCRIBE LENGTH can only be used with the IN BYTE MODE or IN  CHARACTER MODE addition.
    Before the Unicode error:
        describe field <tab_feld> length len.
    Solution.
    describe field <tab_feld> length len IN character mode.
    Before the Unicode error:
        DESCRIBE FIELD DOWNTABLA LENGTH LONG.
    Solution.
    DESCRIBE FIELD DOWNTABLA LENGTH LONG IN byte MODE.
    DO 002     Could not specify the access range automatically. This means that you need a  RANGE addition     
    Before the Unicode error:
    DO 7 TIMES VARYING i FROM aktuell(1) NEXT aktuell+1(1)
    Solution.
      DO 7 TIMES VARYING i FROM aktuell(1) NEXT aktuell+1(1) RANGE aktuell .
    Before the Unicode error:
    DO 3 TIMES VARYING textfeld FROM gtx_line1 NEXT gtx_line2.
    Solution.
    DATA: BEGIN OF text,
            gtx_line1 TYPE rp50m-text1,
            gtx_line2 TYPE rp50m-text2,
            gtx_line3 TYPE rp50m-text3,
          END OF text.
    DO 3 TIMES VARYING textfeld FROM gtx_line1 NEXT gtx_line2 RANGE text..
    Before the Unicode error:
    DO ev_restlen TIMES
        VARYING ev_zeichen FROM ev_hstr(1) NEXT ev_hstr+1(1).
    Solution.
      DO ev_restlen TIMES
         VARYING ev_zeichen FROM ev_hstr(1) NEXT ev_hstr+1(1) range ev_hstr.
    MESSAGEG!2     IT_TBTCO and "IT_ALLG" are not mutually convertible. In Unicode programs, "IT_TBTCO" must have the same structure layout as "IT_ALLG", independent of  the length of a Unicode character.     
    Before the Unicode error:
             IT_TBTCO = IT_ALLG.
    Solution.
    IT_TBTCO-header = IT_ALLG-header.
    MESSAGEG!3     FIELDCAT_LN-TABNAME and "WA_DISP" are not mutually convertible in a Unicode program     
    Before the Unicode error:
         IF GEH_TA15(73) NE RETTER15(73).
    Solution.
          FIELD-SYMBOLS: <GEHTA> TYPE ANY.
                        <RETTER1> TYPE ANY.
          ASSIGN: GEH_TA TO <GEHTA>,
                  RETTER TO <RETTER>.
    IF <GEHTA>15(73) NE <RETTER>15(73).
    Before the Unicode error:
           IMP_EP_R3_30 = RECRD_TAB-CNTNT.
    Solution.
        FIELD-SYMBOLS:  <imp_ep_r3_30> TYPE X,
                          <recrd_tab-cntnt> TYPE X.
          ASSIGN IMP_EP_R3_30 TO <imp_ep_r3_30> CASTING.
          ASSIGN RECRD_TAB-CNTNT TO <recrd_tab-cntnt> CASTING.
           <imp_ep_r3_30> = <recrd_tab-cntnt>.
    Before the Unicode error:
                and    pernr  = gt_pernr
    Solution.
                  and    pernr  = gt_pernr-pernr
    MESSAGEG!7     EBC_F0 and "EBC_F0_255(1)" are not comparable in Unicode programs.     
    Before the Unicode error:
       IF CHARACTER NE LINE_FEED.
    Solution.
        IF CHARACTER NE LINE_FEED-X.
    MESSAGEG!A     A line of "IT_ZMM_BINE" and "OUTPUT_LINES" are not mutually convertible. In a  Unicode program "IT_ZMM_BINE" must have the same structure layout as  "OUTPUT_LINES" independent of the length of a Unicode character.     
    Before the Unicode error:
    *data: lw_wpbp  type pc206.
    Solution.
    data: lw_wpbp  type pc205.
    Before the Unicode error:
       LOOP AT seltab INTO  ltx_p0078.
    Solution.
    DATA: WA_SELTAB like line of SELTAB.
    CLEAR WA_SELTAB.
    MOVE-CORRESPONDING ltx_p0078 to wa_seltab.
    move-corresponding wa_seltab to ltx_p0078.
    MESSAGEG?Y     The line type of "DTAB" must be compatible with one of the types "TEXTPOOL".     
    Before the Unicode error:
    DATA:
       BEGIN OF dtab OCCURS 100.
         text(100),
    include structure textpool.
       End of changes
    SET TITLEBAR '001' WITH dtab-text+9.
    Solution.
    the following declaration should be mentioned in the declaration of the textpool.
    DATA:
       BEGIN OF dtab OCCURS 100.
      text(100),
    include structure textpool.
       End of changes
      SET TITLEBAR '001' WITH dtab-entry.
    MESSAGEG@1     TFO05_TABLE cannot be converted to a character-type field.     
    Before the Unicode error:
    WRITE: / PA0015, 'Fehler bei MODIFY'.
    Solution.
    WRITE: / PA0015+0, 'Fehler bei MODIFY'.
    MESSAGEG@3     ZL-C1ZNR must be a character-type data object (data type C, N, D, T or  STRING) .     
    Before the Unicode error:
         con_tab  TYPE x VALUE '09',
    Solution.
           con_tab  TYPE string VALUE '09',
    Before the Unicode error:
    data:   g_con_ascii_tab(1)  type x   value '09'.
    Solution.
       data:   g_con_ascii_tab  type STRING   value '09'.
    MESSAGEG@E     HELP_ANLN0 must be a character-type field (data type C, N, D, or T). an open  control structure introduced by "INTERFACE".
    Before the Unicode error:
    WRITE SATZ-MONGH TO SATZ-MONGH CURRENCY P0008-WAERS.
    WRITE SATZ-JAH55 TO SATZ-JAH55 CURRENCY P0008-WAERS.
    WRITE SATZ-EFF55 TO SATZ-EFF55 CURRENCY P0008-WAERS.
    WRITE SATZ-SOFE_EREU TO SATZ-SOFE_EREU CURRENCY P0008-WAERS.
    WRITE SATZ-SOFE_ERSF TO SATZ-SOFE_ERSF CURRENCY P0008-WAERS.
    WRITE SATZ-SOFE_ERSP TO SATZ-SOFE_ERSP CURRENCY P0008-WAERS.
    WRITE SATZ-SOFE_EIN TO SATZ-SOFE_EIN CURRENCY P0008-WAERS.
    WRITE SATZ-SOFE_EREU TO SATZ-SOFE_EREU CURRENCY P0008-WAERS.
    WRITE SATZ-ERHO_ERR TO SATZ-ERHO_ERR CURRENCY P0008-WAERS.
    WRITE SATZ-ERHO_EIN TO SATZ-ERHO_EIN CURRENCY P0008-WAERS.
    WRITE SATZ-JAH55_FF TO SATZ-JAH55_FF CURRENCY P0008-WAERS.
    Solution.
      DATA: SATZ1_MONGH(16),
            SATZ_JAH551(16),
            SATZ_EFF551(16),
            SATZ_SOFE_EREU1(16),
            SATZ_SOFE_ERSF1(16),
            SATZ_SOFE_ERSP1(16),
            SATZ_SOFE_EIN1(16),
            SATZ_ERHO_ERR1(16),
            SATZ_ERHO_EIN1(16),
            SATZ_JAH55_FF1(16).
      WRITE SATZ-MONGH TO SATZ1_MONGH CURRENCY P0008-WAERS.
      WRITE SATZ-JAH55 TO SATZ_JAH551 CURRENCY P0008-WAERS.
      WRITE SATZ-EFF55 TO SATZ_EFF551 CURRENCY P0008-WAERS.
      WRITE SATZ-SOFE_EREU TO SATZ_SOFE_EREU1 CURRENCY P0008-WAERS.
      WRITE SATZ-SOFE_ERSF TO SATZ_SOFE_ERSF1 CURRENCY P0008-WAERS.
      WRITE SATZ-SOFE_ERSP TO SATZ_SOFE_ERSP1 CURRENCY P0008-WAERS.
      WRITE SATZ-SOFE_EIN TO SATZ_SOFE_EIN1 CURRENCY P0008-WAERS.
      WRITE SATZ-ERHO_ERR TO SATZ_ERHO_ERR1 CURRENCY P0008-WAERS.
      WRITE SATZ-ERHO_EIN TO SATZ_ERHO_EIN1 CURRENCY P0008-WAERS.
      WRITE SATZ-JAH55_FF TO SATZ_JAH55_FF1 CURRENCY P0008-WAERS.
      SATZ-MONGH = SATZ1_MONGH.
      SATZ-JAH55 = SATZ_JAH551.
      SATZ-EFF55 = SATZ_EFF551.
      SATZ-SOFE_EREU = SATZ_SOFE_EREU1.
      SATZ-SOFE_ERSF = SATZ_SOFE_ERSF1.
      SATZ-SOFE_ERSP = SATZ_SOFE_ERSP1.
      SATZ-SOFE_EIN = SATZ_SOFE_EIN1.
      SATZ-ERHO_ERR = SATZ_ERHO_ERR1.
      SATZ-ERHO_EIN = SATZ_ERHO_EIN1.
      SATZ-JAH55_FF = SATZ_JAH55_FF1.
    MESSAGEG-0     VESVR_EUR must be a character-type data object (data type C, N, D, T or  STRING).     
    Before the Unicode error:
                TRANSLATE vesvr_eur USING '.,'.
                TRANSLATE espec_eur USING '.,'.
                TRANSLATE fijas_eur USING '.,'.
    Solution.
                 data: vesvreur(16),
                       especeur(16),
                       fijaseur(16).
                 vesvreur = vesvr_eur.
                 especeur = espec_eur.
                 fijaseur = fijas_eur.
                 TRANSLATE vesvreur USING '.,'.
                 TRANSLATE especeur USING '.,'.
                 TRANSLATE fijaseur USING '.,'.
                 vesvr_eur = vesvreur.
                 espec_eur = especeur.
                 fijas_eur = fijaseur.
    MESSAGEG-D     LT_0021 cannot be converted to the line incompatible. The line type must have  the same structure layout as "LT_0021" regardless of the length of a Unicode .     
    Before the Unicode error:
    data: lt_0021    like p0021 occurs 0 with header line.
    Solution.
        DATA: LT_0021 LIKE PA0021 OCCURS 0 WITH HEADER LINE.
    Before the Unicode error:
             append sim_data to p0007.
    Solution.
           DATA:wa_p0007 type p0007.
           move-corresponding sim_data to wa_p0007.
              append wa_p0007 to p0007.
    MESSAGEG-F     The structure "CO(110)" does not start with a character-type field. In Unicode  programs in such cases, offset/length declarations are not allowed      
    Before the Unicode error:
         TRANSFER COBEZ+8 TO DSN.
    Solution.
                FIELD-SYMBOLS:<fs_cobez> type any.
                TRANSFER <fs_COBEZ>+8 TO DSN.
    Before the Unicode error:
         WRITE: /1 COBEZ+16.
    Solution.
    FIELD-SYMBOLS <F_COBEZ> TYPE ANY.
    ASSIGN COBEZ TO <F_COBEZ>.
          WRITE: /1 <F_COBEZ>+16.
    MESSAGEG-G     The length declaration "171" exceeds the length of the character-type start  (=38) of the structure. This is not allowed in Unicode programs.
    Before the Unicode error:
       write: /1 '-->',
                 pa0201(250).
    Solution.
    field-symbols <fs_pa0201> type any.
    ASSIGN pa0201 TO <fs_pa0201>.
        write: /1 '-->',
                  <fs_pa0201>(250).
    MESSAGEG-H     The offset declaration "160" exceeds the length of the character-type start  (=126) of the structure. This is not allowed in Unicode programs . allowed.     
    Before the Unicode error:
    WRITE:/ SATZ(80),
             / SATZ+80(80),
             / SATZ+160(80),
             / SATZ+240(80),
             / SATZ+320(27).
    Solution.
      FIELD-SYMBOLS <FS_SATZ> TYPE ANY.
      ASSIGN SATZ TO <FS_SATZ>.
      WRITE:/ <FS_SATZ>(80),
              / <FS_SATZ>+80(80),
              / <FS_SATZ>+160(80),
              / <FS_SATZ>+240(80),
              / <FS_SATZ>+320(27).
    MESSAGEG-I     The sum of the offset and length (=504) exceeds the length of the start (=323) of the structure. This is not allowed in Unicode programs .     
    Before the Unicode error:
              /5 PARAMS+80(80),
    Solution.
        FIELD-SYMBOLS: <PARAMS> TYPE ANY.
        ASSIGN PARAMS TO <PARAMS>.
               /5 <PARAMS>+80(80),
    MESSAGEGWH     P0041-DAR01 and "DATE_SPEC" are type-incompatible.     
    Before the Unicode error:
       DO 5 TIMES VARYING I0008 FROM P0008-LGA01 NEXT P0008-LGA02.
    Solution.
        DO 5 TIMES VARYING I0008-LGA FROM P0008-LGA01 NEXT P0008-LGA02. "D07K963133
    Before the Unicode error:
       DO VARYING ls_data_aux FROM p0041-dar01 NEXT p0041-dar02.
    Solution.
         DO VARYING ls_data_aux-dar01 FROM p0041-dar01 NEXT p0041-dar02.
    MESSAGEGY/     The type of the database table and work area (or internal table) "P0050" are  not Unicode-convertible      
    Before the Unicode error:
    select * from  pa9705 client specified
            into ls_9705
    Solution.
       select * from  pa9705 client specified
              into corresponding fields of  ls_9705
    Before the Unicode error:
         select        * from  pa0202 client specified
                into ls_0202
    Solution.
           select  * from  pa0202 client specified
                  into corresponding fields of ls_0202
    OPEN   001     One of the additions "FOR INPUT", "FOR OUTPUT", "FOR APPENDING" or "FOR UPDATE" was expected.     
    Before the Unicode error:
    OPEN DATASET FICHERO IN TEXT MODE.
    Solution.
      OPEN DATASET FICHERO IN TEXT MODE FOR INPUT ENCODING NON-UNICODE.
    OPEN   002     IN... MODE was expected.     
    Before the Unicode error:
    OPEN DATASET P_OUT FOR OUTPUT IN TEXT MODE.
    Solution.
        OPEN DATASET P_OUT FOR OUTPUT IN TEXT MODE ENCODING non-unicode.
    OPEN   004     In "TEXT MODE" the "ENCODING" addition must be specified.     
    Before the Unicode error:
       open dataset dat for output in text mode.
    Solution.
         open dataset dat for output in text mode ENCODING NON-UNICODE.
    UPLO     Upload/Ws_Upload and Download/Ws_Download are obsolete, since they are not  Unicode-enabled; use the class cl_gui_frontend_services
    Before the Unicode error:
    move p_filein to disk_datei.
      CALL FUNCTION 'WS_UPLOAD'
           EXPORTING
                filename        = disk_datei
                FILETYPE        = FILETYPE
           TABLES
                DATA_TAB        = DISK_TAB
           EXCEPTIONS
                FILE_OPEN_ERROR = 1
                FILE_READ_ERROR = 2.
    Solution.
    DATA: file_name type string.
    move p_filein to file_name.
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD
      EXPORTING
        FILENAME                = file_name
        FILETYPE                = 'ASC'
        HAS_FIELD_SEPARATOR     = 'X'
       HEADER_LENGTH           = 0
       READ_BY_LINE            = 'X'
       DAT_MODE                = SPACE
       CODEPAGE                = SPACE
       IGNORE_CERR             = ABAP_TRUE
       REPLACEMENT             = '#'
       VIRUS_SCAN_PROFILE      =
    IMPORTING
       FILELENGTH              =
       HEADER                  =
      CHANGING
        DATA_TAB                = disk_tab[]
      EXCEPTIONS
        FILE_OPEN_ERROR         = 1
        FILE_READ_ERROR         = 2
        NO_BATCH                = 3
        GUI_REFUSE_FILETRANSFER = 4
        INVALID_TYPE            = 5
        NO_AUTHORITY            = 6
        UNKNOWN_ERROR           = 7
        BAD_DATA_FORMAT         = 8
        HEADER_NOT_ALLOWED      = 9
        SEPARATOR_NOT_ALLOWED   = 10
        HEADER_TOO_LONG         = 11
        UNKNOWN_DP_ERROR        = 12
        ACCESS_DENIED           = 13
        DP_OUT_OF_MEMORY        = 14
        DISK_FULL               = 15
        DP_TIMEOUT              = 16
        NOT_SUPPORTED_BY_GUI    = 17
        ERROR_NO_GUI            = 18
        others                  = 19
    Before the Unicode error:
       CALL FUNCTION 'WS_DOWNLOAD'
            EXPORTING
                 filename = fich_dat
                 filetype = typ_fich
            TABLES
                 data_tab = t_down.
    Solution.
    data: filename1 type string,
          filetype1(10).
    move fich_dat to filename1.
    move typ_fich to filetype1.
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
      EXPORTING
        FILENAME                  = filename1
        FILETYPE                  = filetype1
        WRITE_FIELD_SEPARATOR     = 'X'
      CHANGING
        DATA_TAB                  = t_down[].
    Before the Unicode error:
    *CALL FUNCTION 'UPLOAD'
        TABLES
             DATA_TAB                =  datos
       EXCEPTIONS
            CONVERSION_ERROR        = 1
            INVALID_TABLE_WIDTH     = 2
            INVALID_TYPE            = 3
            NO_BATCH                = 4
            UNKNOWN_ERROR           = 5
            GUI_REFUSE_FILETRANSFER = 6
            OTHERS                  = 7
    Solution.
    DATA: file_table type table of file_table,
          filetable type file_table,
          rc type i,
          filename type string.
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
      CHANGING
        FILE_TABLE              = file_table
        RC                      = rc
    EXCEPTIONS
       FILE_OPEN_DIALOG_FAILED = 1
       CNTL_ERROR              = 2
       ERROR_NO_GUI            = 3
       NOT_SUPPORTED_BY_GUI    = 4
       others                  = 5
    READ table file_table into filetable index 1.
    move filetable to filename.
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD
      EXPORTING
        FILENAME                = filename
        FILETYPE                = 'ASC'
        HAS_FIELD_SEPARATOR     = 'X'
       HEADER_LENGTH           = 0
       READ_BY_LINE            = 'X'
       DAT_MODE                = SPACE
       CODEPAGE                = SPACE
       IGNORE_CERR             = ABAP_TRUE
       REPLACEMENT             = '#'
       VIRUS_SCAN_PROFILE      =
    IMPORTING
       FILELENGTH              =
       HEADER                  =
      CHANGING
        DATA_TAB                = datos[]
      EXCEPTIONS
        FILE_OPEN_ERROR         = 1
        FILE_READ_ERROR         = 2
        NO_BATCH                = 3
        GUI_REFUSE_FILETRANSFER = 4
        INVALID_TYPE            = 5
        NO_AUTHORITY            = 6
        UNKNOWN_ERROR           = 7
        BAD_DATA_FORMAT         = 8
        HEADER_NOT_ALLOWED      = 9
        SEPARATOR_NOT_ALLOWED   = 10
        HEADER_TOO_LONG         = 11
        UNKNOWN_DP_ERROR        = 12
        ACCESS_DENIED           = 13
        DP_OUT_OF_MEMORY        = 14
        DISK_FULL               = 15
        DP_TIMEOUT              = 16
        NOT_SUPPORTED_BY_GUI    = 17
        ERROR_NO_GUI            = 18
        others                  = 19
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    Before the Unicode error:
    CALL FUNCTION 'DOWNLOAD'
       EXPORTING
         filename            = p_attkit
         filetype            = 'ASC'
       TABLES
         data_tab            = tb_attrkit
       EXCEPTIONS
         invalid_filesize    = 1
         invalid_table_width = 2
         invalid_type        = 3
         no_batch            = 4
         unknown_error       = 5
         OTHERS              = 6.
    Solution.
               DATA : lv_filename    TYPE string,
                       lv_filen       TYPE string,
                       lv_path        TYPE string,
                       lv_fullpath    TYPE string.
                DATA: Begin of wa_testata,
                      lv_var(10) type c,
                      End of wa_testata.
                DATA: testata like standard table of wa_testata.
                OVERLAY p_attkit WITH lv_filename.
                CALL METHOD cl_gui_frontend_services=>file_save_dialog
                  EXPORTING
                   WINDOW_TITLE         =
                   DEFAULT_EXTENSION    =
                     default_file_name    = lv_filename
                   WITH_ENCODING        =
                   FILE_FILTER          =
                   INITIAL_DIRECTORY    =
                   PROMPT_ON_OVERWRITE  = 'X'
                  CHANGING
                    filename             = lv_filen
                    path                 = lv_path
                    fullpath             = lv_fullpath
                  USER_ACTION          =
                  FILE_ENCODING        =
                  EXCEPTIONS
                    cntl_error           = 1
                    error_no_gui         = 2
                    not_supported_by_gui = 3
                    OTHERS               = 4
                IF sy-subrc <> 0.
                  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                             WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
                ENDIF.
                CALL FUNCTION 'GUI_DOWNLOAD'
                        EXPORTING
                        BIN_FILESIZE                    =
                          filename                        = lv_fullpath
                          filetype                        = 'ASC'
                        APPEND                          = ' '
                        WRITE_FIELD_SEPARATOR           = ' '
                        HEADER                          = '00'
                        TRUNC_TRAILING_BLANKS           = ' '
                        WRITE_LF                        = 'X'
                        COL_SELECT                      = ' '
                        COL_SELECT_MASK                 = ' '
                        DAT_MODE                        = ' '
                        CONFIRM_OVERWRITE               = ' '
                        NO_AUTH_CHECK                   = ' '
                        CODEPAGE                        = ' '
                        IGNORE_CERR                     = ABAP_TRUE
                        REPLACEMENT                     = '#'
                        WRITE_BOM                       = ' '
                        TRUNC_TRAILING_BLANKS_EOL       = 'X'
                        WK1_N_FORMAT                    = ' '
                        WK1_N_SIZE                      = ' '
                        WK1_T_FORMAT                    = ' '
                        WK1_T_SIZE                      = ' '
                      IMPORTING
                        FILELENGTH                      =
                        TABLES
                          data_tab                        = tb_attrkit
                          fieldnames                      = testata
                       EXCEPTIONS
                         file_write_error                = 1
                         no_batch                        = 2
                         gui_refuse_filetransfer         = 3
                         invalid_type                    = 4
                         no_authority                    = 5
                         unknown_error                   = 6
                         header_not_allowed              = 7
                         separator_not_allowed           = 8
                         filesize_not_allowed            = 9
                         header_too_long                 = 10
                         dp_error_create                 = 11
                         dp_error_send                   = 12
                         dp_error_write                  = 13
                         unknown_dp_error                = 14
                         access_denied                   = 15
                         dp_out_of_memory                = 16
                         disk_full                       = 17
                         dp_timeout                      = 18
                         file_not_found                  = 19
                         dataprovider_exception          = 20
                         control_flush_error             = 21
                         OTHERS                          = 22
                IF sy-subrc <> 0.
                  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
                ENDIF.

  • Unicode and non-unicode string data types Issue with 2008 SSIS Package

    Hi All,
    I am converting a 2005 SSIS Package to 2008. I have a task which has SQL Server as the source and Oracle as the destination. I copy the data from a SQL server view with a field nvarchar(10) to a field of a oracle table varchar(10). The package executes fine
    on my local when i use the data transformation task to convert to DT_STR. But when I deploy the dtsx file on the server and try to run from an SQL Job Agent it gives me the unicode and non-unicode string data types error for the field. I have checked the registry
    settings and its the same in my local and the server. Tried both the data conversion task and Derived Column task but with no luck. Pls suggest me what changes are required in my package to run it from the SQL Agent Job.
    Thanks.

    What is Unicode and non Unicode data formats
    Unicode : 
    A Unicode character takes more bytes to store the data in the database. As we all know, many global industries wants to increase their business worldwide and grow at the same time, they would want to widen their business by providing
    services to the customers worldwide by supporting different languages like Chinese, Japanese, Korean and Arabic. Many websites these days are supporting international languages to do their business and to attract more and more customers and that makes life
    easier for both the parties.
    To store the customer data into the database the database must support a mechanism to store the international characters, storing these characters is not easy, and many database vendors have to revised their strategies and come
    up with new mechanisms to support or to store these international characters in the database. Some of the big vendors like Oracle, Microsoft, IBM and other database vendors started providing the international character support so that the data can be stored
    and retrieved accordingly to avoid any hiccups while doing business with the international customers.
    The difference in storing character data between Unicode and non-Unicode depends on whether non-Unicode data is stored by using double-byte character sets. All non-East Asian languages and the Thai language store non-Unicode characters
    in single bytes. Therefore, storing these languages as Unicode uses two times the space that is used specifying a non-Unicode code page. On the other hand, the non-Unicode code pages of many other Asian languages specify character storage in double-byte character
    sets (DBCS). Therefore, for these languages, there is almost no difference in storage between non-Unicode and Unicode.
    Encoding Formats: 
    Some of the common encoding formats for Unicode are UCS-2, UTF-8, UTF-16, UTF-32 have been made available by database vendors to their customers. For SQL Server 7.0 and higher versions Microsoft uses the encoding format UCS-2 to store the UTF-8 data. Under
    this mechanism, all Unicode characters are stored by using 2 bytes.
    Unicode data can be encoded in many different ways. UCS-2 and UTF-8 are two common ways to store bit patterns that represent Unicode characters. Microsoft Windows NT, SQL Server, Java, COM, and the SQL Server ODBC driver and OLEDB
    provider all internally represent Unicode data as UCS-2.
    The options for using SQL Server 7.0 or SQL Server 2000 as a backend server for an application that sends and receives Unicode data that is encoded as UTF-8 include:
    For example, if your business is using a website supporting ASP pages, then this is what happens:
    If your application uses Active Server Pages (ASP) and you are using Internet Information Server (IIS) 5.0 and Microsoft Windows 2000, you can add "<% Session.Codepage=65001 %>" to your server-side ASP script.
    This instructs IIS to convert all dynamically generated strings (example: Response.Write) from UCS-2 to UTF-8 automatically before sending them to the client.
    If you do not want to enable sessions, you can alternatively use the server-side directive "<%@ CodePage=65001 %>".
    Any UTF-8 data sent from the client to the server via GET or POST is also converted to UCS-2 automatically. The Session.Codepage property is the recommended method to handle UTF-8 data within a web application. This Codepage
    setting is not available on IIS 4.0 and Windows NT 4.0.
    Sorting and other operations :
    The effect of Unicode data on performance is complicated by a variety of factors that include the following:
    1. The difference between Unicode sorting rules and non-Unicode sorting rules 
    2. The difference between sorting double-byte and single-byte characters 
    3. Code page conversion between client and server
    Performing operations like >, <, ORDER BY are resource intensive and will be difficult to get correct results if the codepage conversion between client and server is not available.
    Sorting lots of Unicode data can be slower than non-Unicode data, because the data is stored in double bytes. On the other hand, sorting Asian characters in Unicode is faster than sorting Asian DBCS data in a specific code page,
    because DBCS data is actually a mixture of single-byte and double-byte widths, while Unicode characters are fixed-width.
    Non-Unicode :
    Non Unicode is exactly opposite to Unicode. Using non Unicode it is easy to store languages like ‘English’ but not other Asian languages that need more bits to store correctly otherwise truncation will occur.
    Now, let’s see some of the advantages of not storing the data in Unicode format:
    1. It takes less space to store the data in the database hence we will save lot of hard disk space. 
    2. Moving of database files from one server to other takes less time. 
    3. Backup and restore of the database makes huge impact and it is good for DBA’s that it takes less time
    Non-Unicode vs. Unicode Data Types: Comparison Chart
    The primary difference between unicode and non-Unicode data types is the ability of Unicode to easily handle the storage of foreign language characters which also requires more storage space.
    Non-Unicode
    Unicode
    (char, varchar, text)
    (nchar, nvarchar, ntext)
    Stores data in fixed or variable length
    Same as non-Unicode
    char: data is padded with blanks to fill the field size. For example, if a char(10) field contains 5 characters the system will pad it with 5 blanks
    nchar: same as char
    varchar: stores actual value and does not pad with blanks
    nvarchar: same as varchar
    requires 1 byte of storage
    requires 2 bytes of storage
    char and varchar: can store up to 8000 characters
    nchar and nvarchar: can store up to 4000 characters
    Best suited for US English: "One problem with data types that use 1 byte to encode each character is that the data type can only represent 256 different characters. This forces multiple
    encoding specifications (or code pages) for different alphabets such as European alphabets, which are relatively small. It is also impossible to handle systems such as the Japanese Kanji or Korean Hangul alphabets that have thousands of characters."<sup>1</sup>
    Best suited for systems that need to support at least one foreign language: "The Unicode specification defines a single encoding scheme for most characters widely used in businesses around the world.
    All computers consistently translate the bit patterns in Unicode data into characters using the single Unicode specification. This ensures that the same bit pattern is always converted to the same character on all computers. Data can be freely transferred
    from one database or computer to another without concern that the receiving system will translate the bit patterns into characters incorrectly.
    https://irfansworld.wordpress.com/2011/01/25/what-is-unicode-and-non-unicode-data-formats/
    Thanks Shiven:) If Answer is Helpful, Please Vote

  • What is the programming (ABAP) difference between Unicode and non Unicode?

    What is the programming(ABAP) difference between Unicode and non Unicode?
    Edited by: NIV on Apr 12, 2010 1:29 PM

    Hi
    The difference between programming in Unicode or not Unicode is that you should consider some adjustments to make on the Program "Z" to comply with the judgments Unicode Standard.
    In the past, developments in SAP using multiple systems to encode the characters of different alphabets. For example: ASCII, EBCDI, or double-byte code pages.
    These coding systems mostly use 1 byte per character, which can encode up to 256 characters. However, other alphabets such as Japanese or Chinese use a larger number of characters in their alphabets. That's why the system using double-byte code page, which uses 2 bytes per character.
    In order to unify the different alphabets, it was decided to implement a single coding system that uses 2 bytes per character regardless of what language is concerned. That system is called Unicode.
    Unicode is also the official way to implement ISO/IEC 10646 and is supported in many operating systems and all modern browsers.
    The way of verifying whether a program was adjusted or not, is through the execution of the UCCHECK transaction. Additionally, you can check by controlling syntax (making sure that this asset verification check Unicode).
    The main decisions to adjust / replace are (examples):
    ASSIGN H-SY-INDEX TEXT TO ASSIGN <F1> by
    H-SY-INDEX TEXT (*) TO <F1>.
    DATA INIT (50) VALUE '/'. by
    DATA INIT (1) VALUE '/'.
    DESCRIBE FIELD text LENGTH lengh2 by
    DESCRIBE FIELD text LENGTH lengh2 in character mode.
    T_ZSMY_DEMREG_V1 = record_tab by
    record_tab TO MOVE-Corresponding t_zsmy_demreg_v1.
    escape_trick = hot3. by
    escape_trick-x1 = hot3.
    itab_txt TYPE wt by
    ITAB_TXT TYPE TABLE OF TEXTPOOL
    DATA: string3 (3) TYPE X VALUE B2023 '3 'by
    DATA: string3 (6) B2023 TYPE c VALUE '3 '.
    OPEN DATASET file_name IN TEXT MODE by
    OPEN DATASET file_name FOR INPUT IN TEXT MODE ENCODING NON-UNICODE.
    or
    OPEN DATASET file_name FOR INPUT IN TEXT MODE ENCODING DEFAULT.
    CODE FROM PAGE TRANSLATE a_codepage record by
    record TRANSLATE USING a_codepage.
    CALL FUNCTION 'DOWNLOAD' by
    CALL METHOD cl_gui_frontend_services => gui_download
    CALL FUNCTION 'WS_DOWNLOAD' by
    CALL METHOD cl_gui_frontend_services => gui_download
    CALL FUNCTION 'UPLOAD' by
    CALL METHOD cl_gui_frontend_services => gui_upload
    CALL FUNCTION 'WS_UPLOAD' by
    CALL METHOD cl_gui_frontend_services => gui_upload
    PERFORM USING HEAD APPEND_XFEBRE +2. by
    PERFORM USING HEAD APPEND_XFEBRE +2 (98).
    Best Regars
    Fabio Rodriguez

  • Wht is the difference between unicode program and non unicode program ?

    Hi guru,
    wht is the difference between unicode program and non unicode program ?
    Regards
    Subash

    About brief idea about unicode
    In the past, SAP developers used various codes to encode characters of different alphabets, for example, ASCII, EBCDI, or double-byte code pages.
    ASCII (American Standard Code for Information Interchange) encodes each character using 1 byte = 8 bit. This makes it possible to represent a maximum of 28 = 256 characters to which the combinations 00000000, 11111111 are assigned. Common code pages are, for example, ISO88591 for West European or ISO88595 for Cyrillic fonts.
    EBCDI (Extended Binary Coded Decimal Interchange) also uses 1 byte to encode each character, which again makes it possible to represent 256 characters. EBCDIC 0697/0500 is an old IBM format that is used on AS/400 machines for West European fonts, for example.
    Double-byte code pages require 1 or 2 bytes for each character. This allows you to form 216 = 65536 combinations where usually only 10,000 - 15,000 characters are used. Double-byte code pages are, for example, SJIS for Japanese and BIG5 for traditional Chinese.
    Using these character sets, you can account for each language relevant to the SAP System. However, problems occur if you want to merge texts from different incompatible character sets in a central system. Equally, exchanging data between systems with incompatible character sets can result in unprecedented situations.
    One solution to this problem is to use a code comprising all characters used on earth. This code is called Unicode (ISO/IEC 10646) and consists of at least 16 bit = 2 bytes, alternatively of 32 bit = 4 bytes per character. Although the conversion effort for the R/3 kernel and applications is considerable, the migration to Unicode provides great benefits in the long run:
    The Internet and consequently also mySAP.com are entirely based on Unicode, which thus is a basic requirement for international competitiveness.
    Unicode allows all R/3 users to install a central R/3 System that covers all business processes worldwide.
    Companies using different distributed systems frequently want to aggregate their worldwide corporate data. Without Unicode, they would be able to do this only to a limited degree.
    With Unicode, you can use multiple languages simultaneously at a single frontend computer.
    Unicode is required for cross-application data exchange without loss of data due to incompatible character sets. One way to present documents in the World Wide Web (www) is XML, for example.
    ABAP programs must be modified wherever an explicit or implicit assumption is made with regard to the internal length of a character. As a result, a new level of abstraction is reached which makes it possible to run one and the same program both in conventional and in Unicode systems. In addition, if new characters are added to the Unicode character set, SAP can decide whether to represent these characters internally using 2 or 4 bytes.
    A Unicode-enabled ABAP program (UP) is a program in which all Unicode checks are effective. Such a program returns the same results in a non-Unicode system (NUS) as in a Unicode system (US). In order to perform the relevant syntax checks, you must activate the Unicode flag in the screens of the program and class attributes.
    In a US, you can only execute programs for which the Unicode flag is set. In future, the Unicode flag must be set for all SAP programs to enable them to run on a US. If the Unicode flag is set for a program, the syntax is checked and the program executed according to the rules described in this document, regardless of whether the system is a US or an NUS. From now on, the Unicode flag must be set for all new programs and classes that are created.
    If the Unicode flag is not set, a program can only be executed in an NUS. The syntactical and semantic changes described below do not apply to such programs. However, you can use all language extensions that have been introduced in the process of the conversion to Unicode.
    As a result of the modifications and restrictions associated with the Unicode flag, programs are executed in both Unicode and non-Unicode systems with the same semantics to a large degree. In rare cases, however, differences may occur. Programs that are designed to run on both systems therefore need to be tested on both platforms.
    You can also check out these official SAP locations on the SAP Service Marketplace:
    http://service.sap.com/unicode
    http://service.sap.com/unicode@SAP
    http://service.sap.com/i18n
    Regards,
    Santosh

Maybe you are looking for

  • After upgrading to iTunes 10.2.1.1 my iPhone 3G won't sync on my winXP computer.

    How do I work around this problem. I get three error messages. They include: 1) The iPhone (name) cannot be synced. A folder was specified instead of a file. 2) The iPhone (name) cannot be synced. A duplicate file name was specified. 3) The iPhone (n

  • Please refund my Money!!!!

    Tried to buy a $500 vacuum from Best Buy online in Jan 2014- delivery was promised no later than 2-3-14.  UPS lost, broke, or did whatever to the vacuum, but failed to deliver it to me and have acknowledged to Best Buy the vacuum never left their Ont

  • No Playback in Premiere Pro CS4

    I have been trying to find a solution to this problem for several months now, forgive me if it has already been answered somewhere but I am not able to find the solution. I am using a MacBook Pro OSX 10.6.6 3.06 GHz Intel Core 2 Duo 4GB 1067 MHz DDR3

  • Repeat command or action like the F4 command in Excel

    In Excel there is a way to repeat the same command previously performed by pressing the F4 key. This makes thing like adding a new rows or columns and changing characteristics much easier. Is this option available in Numbers 2009? I have not been abl

  • HDCP error messages

    I just started receiving HDCP error messages regularly for content that up until now had played fine.  I have HDMI 1.4 cables and a Samsung LCD which the Apple TV 2 is connected to. The content is coming off of an iMac running 10.6.7 and iTunes 10.3.