Translate string using hex(0020) in Unicode system.

Hello all,
We are facing a problem of the "translate" statement in the Unicode system.
The original statement goes as follows:
TRANSLATE BULOG USING WS_STRING1.
Here  BULOG is a structure and ws_string1 is declared as follows:
DATA : ws_string1(2) type x value '0020'.
On compilation in the new system which is Unicode enabled, the above mentioned statement removes all the '#' placed in the structure.
We tried the following statement instead of the original TRANSLATE statement.
TRANSLATE BULOG USING SPACE.
But this statement leaves the '#' unchanged.
We have already REPLACE statement after converting the structure contents into a string.
We have also tried the convert methods of the classes CL_ABAP_CONV_IN_CE and CL_ABAP_CONV_OUT_CE.
Hoping to receive a fast response.
Thanks in advance.
Zankruti.

You might want to read ABAP Help on TRANSLATE:
Addition 2
... USING  pattern
Effect
If you specify USING, the characters in text are converted according to the rule specified in pattern.
pattern must be a character-type data object whose contents are interpreted as a sequence of
character pairs.
Your option 1 is not working because type X is "Byte field", technically it's not a character-type. Your option 2 is not working because <pattern> must be a sequence of character pairs (you had just SPACE).
In Option 1 just change the definition from X to C or STRING.

Similar Messages

  • RFC Error when using SAPRFC against a Unicode System

    Hi Everybody,
    I try to use the PHP SAPRFC extension against a Unicode System. When I call the client.php which comes with the source package from http://saprfc.sourceforge.net/ where I added:
                   "CODEPAGE"=>"4103",                  // codepage Unicode
                   "UNICODE"=>"1",                      // Unicode
    to the $LOGIN array I get this error:
    Warning: RFC Error Info : Group : 103 Key : RFC_ERROR_LOGON_FAILURE Message : D
    in /var/www/saprfc/client.php on line 48
    RFC connection failed with error:RFC Error Info : Key : C
    Status : EXCEPTION SYSTEM_FAILURE RAISED Message : D Internal:
    there are two trace files after the call. One called dev_rfc.trc with this content:
    **** ERROR file opened at 20060605 050220 CEST, SAP-REL 640,0,119 RFC-VER 3 818129 MT-SL
    T:1079532480 Error in program 'apache2': ======> D
    T:1079532480 Error in program 'apache2':
    <* RfcReceive [1] : returns 3:RFC_SYS_EXCEPTION
    and a file called rfc27443_1079532480.trc:
    **** Trace file opened at 20060605 050500 CEST, SAP-REL 640,0,119 RFC-VER 3 818129 MT-SL
    <<< RfcOpenEx failed
    >TS> Mon Jun  5 05:05:06 2006
    resize I/O buffer to 16000 bytes
    >>>> [7] <unknown>    : EXT  <ac: 74> L sapserver.test.com >>> OPEN  
    UUID: ab_drvstate create uuid {44839DD5-9DCE-6B32-E200-12FDBA107532}
    >>>> [7] <unknown>    : EXT  <ac: 75> L sapserver.test.com >>> 45573492 (45573492)
      -{44839DD5-9DCE-6B32-E200-12FDBA107532}
    >>> RfcOpenEx ...
    Got following connect_param string:
       ASHOST=sapserver.test.com SYSNR=00 CLIENT=002 USER=developer PASSWD=*******
    LANG=EN CODEPAGE=4103 UNICODE=1 TRACE=1
    Send RFCHEADER: 01/LIT/IEEE/SPACE/4103
    Send UNICODE-RFCHEADER: cp:4103/ce:IGNORE/te:REJECT/cs:1/rc:0x00000023
    UUID: send_rfcuuid {44839DD5-9DCE-6B32-E200-12FDBA107532}
    >>> Logon check: calling RFCPING
    >>> RfcCall [7] ...
    *> RfcCall
      FUNCTION RFCPING
            handle = 7
            parameter   = <NULL>
            tables      = <NULL>
    UUID:  RfcCallNew send the uuid to the partner {44839DD5-9DCE-6B32-E200-12FDBA107532}
    >>>> [7] <unknown>    : EXT  <ac: 76> L sapserver.test.com >>> WRITE (45573492)
      -{44839DD5-9DCE-6B32-E200-12FDBA107532}
    000000 | D9C6C3F0 F0F0F0F0 F0F0F0E3 01010008 |................|
    000010 | 01010101 04010003 01010103 00040000 |................|
    000020 | 020B0103 0106000B 04010003 01000100 |................|
    000030 | 00002301 06000700 0F313237 2E302E30 |..#......127.0.0|
    000040 | 2E312020 20202020 00070011 00014500 |.1      ......E.|
    000050 | 11001200 04363430 20001200 13000436 |.....640 ......6|
    000060 | 34302000 13000800 20736172 67652D77 |40 ..... sarge-w|
    000070 | 77772020 20202020 20202020 20202020 |ww              |
    000080 | 20202020 20202020 20000800 0600803C |         ......<|
    000090 | 756E6B6E 6F776E3E 00000000 00000000 |unknown>........|
    0000a0 | 00000000 00000000 00000000 00000000 |................|
    0000b0 | 00000000 00000000 00000000 00000000 |................|
    0000c0 | 00000000 00000000 00000000 00000000 |................|
    0000d0 | 00000000 00000000 00000000 00000000 |................|
    0000e0 | 00000000 00000000 00000000 00000000 |................|
    0000f0 | 00000000 00000000 00000000 00000000 |................|
    000100 | 00000000 00000000 00000000 00000000 |................|
    000110 | 06051400 10D59D83 44CE9D32 6BE20012 |........D..2k...|
    000120 | FDBA1075 32051401 30000761 70616368 |...u2...0..apach|
    000130 | 65320130 01110009 44455645 4C4F5045 |e2.0....DEVELOPE|
    000140 | 52011101 17000D56 F94AFD31 E72211B4 |R......V.J.1."..|
    000150 | 1DCED7F3 01170114 00033030 32011401 |..........002...|
    000160 | 15000145 01150501 00010105 01050200 |...E............|
    000170 | 00050200 0B000336 3430000B 01020007 |.......640......|
    000180 | 52464350 494E4701 02051400 10D59D83 |RFCPING.........|
    000190 | 44CE9D32 6BE20012 FDBA1075 320514FF |D..2k......u2...|
    0001a0 | FF0000FF FF000000 00000000 00000000 |................|
    >>>> [7] <unknown>    : EXT  <ac: 77> L sapserver.test.com >>> FLUSH(WRITE) (45573492)
      -{44839DD5-9DCE-6B32-E200-12FDBA107532}
    <* RfcCall [7] : returns 0:RFC_OK
    >>>> [7] <unknown>    : EXT  <ac: 78> L sapserver.test.com >>> FLUSH(WRITE) (45573492)
      -{44839DD5-9DCE-6B32-E200-12FDBA107532}
    >>>> Listen/WaitForRequest (counter = 4)
    >>>> [7] <unknown>    : EXT  <ac: 79> L sapserver.test.com >>> LISTEN (45573492)
      -{44839DD5-9DCE-6B32-E200-12FDBA107532}
    000000 | 01010008 01010101 04010003 01010103 |................|
    000010 | 00040000 020B0103 0106000B 04010003 |................|
    000020 | 01000200 00002301 06001600 08310031 |......#......1.1|
    000030 | 00300030 00001600 07001E31 0030002E |.0.0.......1.0..|
    000040 | 00310032 0038002E 00330036 002E0031 |.1.2.8...3.6...1|
    000050 | 00350020 00200020 00000700 11000233 |.5. . . .......3|
    000060 | 00001100 12000836 00320030 00200000 |.......6.2.0. ..|
    000070 | 12001300 08360032 00300020 00001300 |.....6.2.0. ....|
    000080 | 08004064 00650063 00720030 0034005F |[email protected]._|
    000090 | 00430052 0034005F 00300030 00200020 |.C.R.4._.0.0. . |
    0000a0 | 00200020 00200020 00200020 00200020 |. . . . . . . . |
    0000b0 | 00200020 00200020 00200020 00200020 |. . . . . . . . |
    0000c0 | 00200000 08000601 003C756E 6B6E6F77 |. .......<unknow|
    0000d0 | 6E3E0000 00000000 00000000 00000000 |n>..............|
    0000e0 | 00000000 00000000 00000000 00000000 |................|
    0000f0 | 00000000 00000000 00000000 00000000 |................|
    000100 | 00000000 00000000 00000000 00000000 |................|
    000110 | 00000000 00000000 00000000 00000000 |................|
    000120 | 00000000 00000000 00000000 00000000 |................|
    000130 | 00000000 00000000 00000000 00000000 |................|
    000140 | 00000000 00000000 00000000 00000000 |................|
    000150 | 00000000 00000000 00000000 00000000 |................|
    000160 | 00000000 00000000 00000000 00000000 |................|
    000170 | 00000000 00000000 00000000 00000000 |................|
    000180 | 00000000 00000000 00000000 00000000 |................|
    000190 | 00000000 00000000 00000000 00000000 |................|
    0001a0 | 00000000 00000000 00000000 00000000 |................|
    0001b0 | 00000000 00000000 00000000 00000000 |................|
    0001c0 | 00000000 00000000 00000605 140010D5 |................|
    0001d0 | 9D8344CE 9D326BE2 0012FDBA 10753205 |..D..2k......u2.|
    0001e0 | 14050000 00050004 03002E43 0041004C |...........C.A.L|
    0001f0 | 004C005F 00460055 004E0043 00540049 |.L._.F.U.N.C.T.I|
    000200 | 004F004E 005F004E 004F0054 005F0046 |.O.N._.N.O.T._.F|
    000210 | 004F0055 004E0044 00040304 02004046 |.O.U.N.D......@F|
    000220 | 0075006E 00630074 0069006F 006E0020 |.u.n.c.t.i.o.n. |
    000230 | 006D006F 00640075 006C0065 00200022 |.m.o.d.u.l.e. ."|
    000240 | 00524643 50494E22 0020006E 006F0074 |.RFCPIN". .n.o.t|
    000250 | 00200066 006F0075 006E0064 002E0004 |. .f.o.u.n.d....|
    000260 | 02FFFF00 00FFFF00 00000000 00000000 |................|
    <* RfcListen [7] : returns 0:RFC_OK
    >>> RfcReceive [7] ...
    Received RFCHEADER [7]: 01/LIT/IEEE/SPACE/4103
    Received UNICODE-RFCHEADER [7]: cp:4103/ce:IGNORE/te:REJECT/cs:2/rc:0x00000023
    UUID: ab_rfccheck_uuid compare uuid's {44839DD5-9DCE-6B32-E200-12FDBA107532}
    Error in program 'apache2': ======> F
    >>>> [7] <unknown>    : EXT  <ac: 80> L sapserver.test.com >>> CLOSE abrfcrcv_mt.c 429 (45573492)
      -{44839DD5-9DCE-6B32-E200-12FDBA107532}
    *> RfcReceive
            handle = 7
            parameter   = <NULL>
            tables      = <NULL>
             Data conversion On
    Error in program 'apache2': <* RfcReceive [7] : returns 3:RFC_SYS_EXCEPTION
    >>>> [7] <unknown>    : EXT  <ac: 81> L sapserver.test.com >>> FREE abrfcio_mt.c 3517 (45573492)
      -{44839DD5-9DCE-6B32-E200-12FDBA107532}
    **** Trace file opened at 20060605 050506 CEST, SAP-REL 640,0,119 RFC-VER 3 818129 MT-SL
    <<< RfcOpenEx failed
    Our SAP Environment is:
    - SAP Web AS 6.20 Unicode Kernel Patchlevel 1602
    - Windows 2003 Server
    - Oracle
    On the PHP Side I use:
    - Debian GNU/Linux 3.1 (Sarge)
    - Apache 2 2.0.54-5
    - PHP4 4.3.10-16
    - SAPRFC 1.4.1
    - SAP RFC SDK non Unicode 6.20 and 6.40 (The problem occurs in both versions)
    Had anyone had sucess using SAPRFC against a Unicode System?
    Regards
    Gregor

    Hi Anton,
    I've just tried your suggestion. I've commented out the CODEPAGE and UNICODE values in my Array and placed:
    [code]saprfc_set_code_page($rfc, "4103");[/code]
    after the
    [code]$rfc = saprfc_open ($LOGIN);[/code]
    The error message I get now is:
    [code]Warning: RFC Error Info : Key : Status : EXCEPTION FU_NOT_FOUND RAISED Message :
    Internal: in /var/www/saprfc/client.php on line 58
    Discovering interface of function module RFC_READ_REPORT failed[/code]
    In the trace File I see:
    [code]>>>> [3] <unknown>    : EXT  <ac: 40> L sapserver.test.com >>> WRITE (80999721)
      -{44839E3E-9E3B-6B30-E200-0534B0CD3057}
    000000 | 05020000 0502000B 00063600 34003000 |..........6.4.0.|
    000010 | 000B0102 00385200 46004300 5F004700 |.....8R.F.C._.G.|
    000020 | 45005400 5F004600 55004E00 43005400 |E.T._.F.U.N.C.T.|
    000030 | 49004F00 4E005F00 49004E00 54004500 |I.O.N._.I.N.T.E.|
    000040 | 52004600 41004300 45005F00 50000102 |R.F.A.C.E._.P...|
    000050 | 05140010 3E9E8344 3B9E306B E2000534 |....>..D;.0k...4|
    000060 | B0CD3057 05140201 00104600 55004E00 |..0W......F.U.N.|
    000070 | 43004E00 41004D00 45000201 0203001E |C.N.A.M.E.......|
    000080 | 5246435F 52454144 5F524550 4F525420 |RFC_READ_REPORT |
    000090 | 20202020 20202020 20202020 20200203 |              ..|
    0000a0 | 03010010 50004100 52004100 4D005300 |....P.A.R.A.M.S.|
    0000b0 | 5F005000 03010330 00040000 00010330 |_.P....0.......0|
    0000c0 | 03020008 000000D8 00000000 0302FFFF |................|
    0000d0 | 0000FFFF 00000000 00000000 00000000 |................|
    >>>> [3] <unknown>    : EXT  <ac: 41> L sapserver.test.com >>> FLUSH(WRITE) (80999721)
      -{44839E3E-9E3B-6B30-E200-0534B0CD3057}
    <* RfcCall [3] : returns 0:RFC_OK
    >>> RfcReceive [3] ...
    >>>> [3] <unknown>    : EXT  <ac: 42> L sapserver.test.com >>> FLUSH(WRITE) (80999721)
      -{44839E3E-9E3B-6B30-E200-0534B0CD3057}
    >>>> [3] <unknown>    : EXT  <ac: 43> L sapserver.test.com >>> READ (80999721)
      -{44839E3E-9E3B-6B30-E200-0534B0CD3057}
    000000 | 05000000 05000415 00044600 4C000415 |..........F.L...|
    000010 | 04160002 45000416 04170006 30003400 |....E.......0.4.|
    000020 | 36000417 04010018 46005500 5F004E00 |6.......F.U._.N.|
    000030 | 4F005400 5F004600 4F005500 4E004400 |O.T._.F.O.U.N.D.|
    000040 | 0401FFFF 0000FFFF 00000000 00000000 |................|
    >>>> [3] <unknown>    : EXT  <ac: 44> L sapserver.test.com >>> FLUSH (READ) (80999721)
      -{44839E3E-9E3B-6B30-E200-0534B0CD3057}[/code]
    Regards
    Gregor

  • Can we UseECC6 non Unicode  with SRM7.0 Unicode system

    Hi SRM Gurus,
    Can we use ECC6.0 non unicode system with SRM7.0 Unicode system as a backend?
    I am searching for the information regarding the compatability and connectivity between Unicode and nonunicode systems.
    Can some please do let me know the web links related to my post or Please do let me know the Possibility for using ECC6.0 Non-Unicode with the SRM7.0 Unicode.
    Regards,
    Srini

    Hi,
    RFC communication takes care Unicode conversion. Question is how many languages are used in ERP 6.0. Non-Unicode -> Unicode should not be a problem but Unicode -> Non-Unicode is question.
    Is it single codepage system or old MDMP system?
    Regards,
    Masa

  • How to convert EBCDIC String in hex to unicode?

    How do I convert, for example, "C1C2C3C4C5" (EBCDIC in hex) to "ABCDE"? The input and output types are both String. Thanks in advance!

    1. Create a String of 256 characters, where the index corresponds to the ASCII character (e.g. character at index 193 (0xC1) would be 'A').
    2. Parse your input string two characters at a time using Integer.parseInt(s, 16) to convert the two digits to a number, and use the resulting number to get the equivalent ASCII character from the translation string in step 1, which can be appended to your output.

  • Convert TYPE string to TYPE p in a UNICODE system

    Hi-
    I've got a string that contains an amount and I want to convert it into a TYPE p in my program to store as a proper amount in the database.
    I can't do a simple move or use FMs like HMRC_AMOUNT_STRING_CONVERT as I am in a Unicode system and it errors if I try these.
    How can I do it.
    Example.
    parameters p_amount type string.
    start-of-selection.
    data l_amount TYPE p decimals 2.
    MOVE p_amount TO l_amount.
    =>compile error.

    Hi   Tristan.....
    IN PARAMETERS we ca have only have predefined data
    The data types valid for parameters include The built-in ABAP types c, d, i, n, p, t, and x
    You cannot use data type F, references and aggregate types.
    But you are using type STRING which is not allowed.
    so you are getting a compiler error.
    Suresh.....

  • The system attempted to use dynpro 0020 in program "SAPMSYST" .

    Hi Everyone
    How to correct this error?
    The system attempted to use dynpro 0020 in program "SAPMSYST" .
    Iam using SAP NetWeaver 7.0 Trial version.
    Thanks
    Sudha

    Hi Sudhakar,
    Please post the ST22 info of this Dump (if it occurred).
    Note: if you are not providing the information correct, you will get vague responses.
    Regards,
    Srihari

  • How to find as ascii value for a string or char in unicode system?

    Hello,
    How to find an ascii value for a string or char in unicode system?
    Thanks in Advance

    hi ,
    report demtest.
    data : c.
    field-symbols : <n> type x.
    data : rn type i.
    c = 'A'.
    assign c to <n> casting.
    move <n> to rn.
    write rn.
    This will convert 'A' to 65.
    Tom Demuyt
    How to convert ascii value to character.
    If I give input as 65 (ascill value) I want display 'A'.
    Below logic is for convert from character to ascii value , now I want to know how to convert ascii value to character.
    Naveen
    report demtest.
    *going from A to 65
    data : c value 'A'.
    field-symbols : <n> type x.
    data : rn type i.
    assign c to <n> casting.
    move <n> to rn.
    write rn.
    *going from 66 to B
    data : i type i value 66.
    data : x type x.
    field-symbols : <fc> type c.
    move i to x.
    assign x to <fc> casting type c.
    move <fc> to c.
    write c.
    regards,
    venkat.

  • Translation errors in non-Unicode systems

    Hi all,
    I created a Web Dynpro application and I create some labels in a view. Instead of entering the texts and in the property "Text" of the label directly and do the translation through xlf files, the texts of the labels come from model classes which are mapped from RFCs in R/3. And you can see the translation of these labels also come from R/3. The languages for translation I use are Chinese and Japanese.
    But I find the English version works fine, I can see the labels are displayed in English very well. However, when display Chinese or Japanese version, the texts of these labels are incorrect. What I can see are just mess code.
    Could you help me?
    Regards,
    Biqiang

    It's solved by SAP.
    Regards,
    Biqiang

  • GUI_DOWNLOAD problems with CR+LF when transfering from unicode system

    Hi,
    I was successfuly used FM GUI_DOWNLOAD in a non-unicode systems for years. Lately I faced a challenge to rewrite my code for a unicode system. The configuration is:
    - SAP R/3 unicode system;
    - data to be downloaded at presentation server in a non-unicode codepage (cp 9504).
    I have successfuly used a GUI_DOWNLOAD-parameter CODEPAGE and the data is translated correctly when checking local file, but due to some reasons CRLF are replaced with '#' (which is default value of REPLACEMENT parameter of this function) - means at the end of each row as a result I have '##' instead of CRLF.
    My question is: how can I force correct behaviour of GUI_DOWNLOAD in order to get my output file at presentation server with CR+LF?
    Any help would be highly appreciated.
    Many thanks in advance.
    Regards,
    Ivaylo Mutafchiev
    SAP/ABAP consultant
    VBS Ltd.
    P.S. In order to find some other way to fix my problem I'm still playing with the instanciation of a CL_ABAP_CONV_OBJ and its methods create & convert, but without success for now - resulted strings are not as expected.

    Hi,
    in fact, I never placed CRLF in my lines before your suggestion. The rest was done by the FM 'GUI_DOWNLOAD'. It works fine even when I use unicode file as output - means I got my CRLF at the end of the record in MY OUTPUT FILE ONLY but not in my internal table - I never placed CR+LF in there.
    The problem occures when I tried to use GUI_DOWNLOAD with parameter CODEPAGE = '9504' (some non-unicode codepage), and the original data (my internal table) is in unicode. Then (in my opinion) this function doesn't translate the unicoded CR+LF into non-unicode ones (if thats possible at all, I can't be sure) and the result is '##' in the output file.
    I checked the value of CL_ABAP_CHAR_UTILITIES=>CR_LF by getting it in my variable - and it is '##'.
    Whet should I put into this class-attribute in order to get it working in this scenario? I have no idea...
    The attribute type is ABAP_CR_LF - which is char 2.
    What next?
    Thanks,
    Ivaylo

  • Concatenate with 'tab' delimiter in Unicode system

    Hi All,
    In current system we have a program that creates a tab-delimited file with following code where wa1 and wa2 are character-type fields.
    data: delim type x value '09'.   (a tab in hex)
    concatenate wa1 delim wa2 into wm_lstfil.
    Unicode system won't allow char and hex fields to intermix.  Suggestions on how to replace this code so that we continue to create a tab-delimited output line?
    Thanks,
    Kirsten

    Hi
    You can use the following...
    CLASS cl_abap_char_utilities DEFINITION LOAD.
    DATA: text TYPE string.
    <b>Concatenate your data into variable text .... and then,</b>
    REPLACE cl_abap_char_utilites=>horizontal_tab WITH space INTO text.
    Regards,
    Raj

  • TRANSLATE char USING EBC_TO_ASC

    hi all........
    In a non-Unicode system, I can issue a command such as TRANSLATE F1 USING EBC_TO_ASC where F1 is character field and EBC_TO_ASC is a standard data definition provided by SAP in include RSEBCASC. When I try this in a Unicode system, it is giving error. Is there a comparable way in a Unicode system to translate items from ASCII to EBCDIC (or EBCDIC to ASCII)?

    TRANSLATE ... TO UPPER/LOWER CASE
    TRANSLATE ... USING
    The arguments of these instructions must be single fields of type C, N, D, T or STRING or purely character-type structures. There is a syntax or runtime error if arguments of a different type are passed. A subset of this function is provided with the addition IN BYTE MODE for processing byte strings – that is, operands of type X or XSTRING. A statement such as CONCATENATE a x b INTO c is thus no longer possible when a, b, and c are all character-type, but x is of type X.
    TRANSLATE ... CODEPAGE ...
    TRANSLATE ... NUMBER FORMAT ...
    The above statements are not allowed in Unicode programs.
    In Unicode TRANSLATE can be only dealed with character set. Hence you should use.
    <b>Translate trec-string to uppercase.</b>
    ~As find in forum.
    Regards,
    Amit

  • GUI_DOWNLOAD problem in unicode system

    Hi Guru's,
    I am facing one prolem in gui_download. we are doing unicode remediation in one report. In the program  one internal table declared as of type c with length 255 and data filled into the internal table by importing the data ifrom cluster. After  that this internal table  used  by ws_download function moduel with  file type as BIN to download it  in word doc file. We replaced the function module with gui_download. It is working fine in non-unicode system but it is not downloading properly in the unicode system.
    i am unable to find what is the cause.. I tried with different different codepages giving in run time..it is not solving my problem.
    << Moderator message - Everyone's problem is important. Please do not ask for help quickly. >>
    Thanks & Regards,
    Sastry R
    Edited by: Rob Burbank on Dec 13, 2010 9:39 AM

    Hi Clemens.
    I replaced the ws_download function module with gui_download.
    here is my code
    Earlier before 6.0 code as follows
    CALL FUNCTION 'WS_DOWNLOAD'
       EXPORTING
         bin_filesize            = data_len
         filename                = p_file
         filetype                = 'BIN'
       TABLES
         data_tab                = data_tab
       EXCEPTIONS
         file_open_error         = 1
         file_write_error        = 2
         invalid_filesize        = 3
         invalid_table_width     = 4
         invalid_type            = 5
         no_batch                = 6
         unknown_error           = 7
         gui_refuse_filetransfer = 8
         OTHERS                  = 9.
    IF sy-subrc <> 0 AND no_error_dlg = space.
       MESSAGE i002(sy) WITH text-i03.    "FILE OPEN ERROR
    ENDIF.
    Replaced above with following code
      DATA:lv_fname TYPE string,
           lv_ftype(10) VALUE 'BIN',
           lv_codepage type abap_encod VALUE '4102'.
    CALL METHOD cl_gui_frontend_services=>gui_download
        EXPORTING
          bin_filesize            = data_len
          filename                = lv_fname
          filetype                = lv_ftype
          codepage                = lv_codepage
        CHANGING
          data_tab                = data_tab
        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
          not_supported_by_gui    = 22
          error_no_gui            = 23
          OTHERS                  = 24.
      IF sy-subrc <> 0 AND no_error_dlg = space.
        MESSAGE i002(sy) WITH text-i03.    "FILE OPEN ERROR
      ENDIF.
    I tried with all othr code pages also like 4110/4103/1110/1100/1102. It is not working,
    It is giving problem in unicode system. File is downloading.but not properly..
    and when i am opening the word file it is asking me select encoding type to make document readble along with the  available text encoding formats.
    Please help me..
    Thanks & Regards,
    Sastry R

  • Export / Import   to memory Id 2 . ( Unicode System)

    hi all ,
    we get unicode syntax error for the statement
       EXPORT d1200  TO MEMORY ID 2.
    Error discription is -
    2 must be a character-type field (data type C, N, D, or T) . "INTERFACE".
    We get similar error in import statement as well.
    Please refer this code ..........
    DATA:  BEGIN OF d1200,
             form    LIKE mard-matnr,
             formbez LIKE makt-maktx,
             labst(10),
             zeichnr LIKE drad-doknr,
             zeichnr1 LIKE drad-doknr,
             produktion_brutto(08) TYPE p, " (16) type c
             reparatur(08) TYPE p,
             zaehlerstand(16),
             maxprod(08) TYPE p,
             kapazitaet(06) TYPE p DECIMALS 2,
             hoehe(07),
             gewicht(07),
             netto-gesamt(07) TYPE p,
             ausschuss-gesamt(07) TYPE p,
             brutto-gesamt(07) TYPE p,
           restmenge(07) TYPE p,
    *mico20000430
    *notwendig für korrekte Anzeige in Druckliste
             restmenge(08) TYPE p,
             datenuebernahme(16),
             menge(08) TYPE p decimals 0 ,
             maxprod2(08) TYPE p decimals 0,
             umwertung(08) TYPE p decimals 0,
             ohnefa(08) TYPE p decimals 0,
             charge like mchb-charg,
             fhmnr LIKE mara-matnr,
           END   OF d1200.
    EXPORT d1200  TO MEMORY ID 2.

    Unicode systems have a problem in that you can't define stuff as type X. Structures also have to be properly "bounded".  You can also no longer rely on code such as field1+7(9) .
    You could define your structure as a STRING and delimit the fields with say a tab symbol ( use the attribute in cl_abap_utilities to get the tab char in a unicode system).
    export the string to memory.
    on the import end use the SPLIT command on the string to re-create your data elements.
    You will then have to manage the decimal arithmetic yourself.
    It's a pain - but that's largely the point of Unicode --everything is treated as TYPE C.
    Structures containing anything other than type C data are also a real problem if you want to upload / download data. Handling Binary files is a nightmare.
    There are some SAP supplied utilities  / notes / documentations on converting to a Unicode system.
    Cheers
    jimbo

  • TABLE_ENTRIES_GET_VIA_RFC in unicode system

    Hi all,
    I know this is going to be a long initial post, but please please take the time to read it. Otherwise there would be many unnecessary questions.
    We are using a middleware for mobile devices that reads connects to SAP for reading table data (via a.m. RFC) and posting RFCs/BAPIs.
    Now we try to connect to an unicode SAP system (6.20). The statement
    SELECT * FROM (TABNAME) INTO TABLE TABENTRY WHERE (SEL_TAB)
    where TABENTRY is a table of type char(2048) does not work any more as in unicode systems the structure of the db table and the internal table have to be the same.
    So we found the fm CRM_CODEX_GET_TABLE_VIA_RFC in CRM which is built from a copy of the a.m. fm and solves this problem by
    1.) creating dynamically an internal table of the same type as the db table.
    2.) select the data into this new internal table
    3.) loop over the internal table and converting each field of its structure to a char variable and then appending it to a the result char(2048).
    Theoretically everything's ok. The fm works now and returns correct data. But there's still one problem, the middleware doesn't convert the data correctly, as the values of fields of type 'p' are passed differently.
    non unicode (standard fm):
    1000000000000280401011000COMPDL              200408 ###E8##############################
    unicode (changed fm):
    1000000000000280401016000COMPDL              200504 10.000       0.000        0.000        0.000
    As you can see, the select statement from the top of this post just puts the data into the string without actually converting the numbers in fields of type p (or QUAN, CURR in db).
    The changed fm with converting every field also converts the number values, now they appear as char fields.
    The middleware tries to convert the number values, but always returns 0 (I can only the results as the actually programming is a black box for me).
    Has anyone any idea how to solve this problem? (beside getting help from the middleware vendor, which is difficult, as there is a new release working with unicode systems. But we will stay on the old release for some months from now...)

    Hi Raja,
    thanks for your answer.
    I had already searched the forum and found your document about RFC_READ_TABLE which I think is quite interesting and a good solution.
    But unfortunately, I cannot change the middleware's RFC logic, e. g. change the BAPI or make changes to the in-/output streams.
    I now live with a workaround:
    I modified the RFC to convert all p type fields to character fields and also changed the metadata RFCs accordingly, which works OK.
    For all RFCs I use to post data to SAP, I write a wrapper RFC with character only structures and convert them to the internal RFCs inside SAP.
    This is not my preferred solution, but I am very short of time and it works pretty well.
    Regards,
    Hans

  • Pdf conversion from a non unicode system to a unicode system

    Hi,
    I have a BSP application that runs on a unicode system which retrieves data to be output in pdf from a non unicode sap system.
    We get the data from the non unicode system through a RFC call and store data in table otfdata type itcoo, then we perform the conversion through the following:
    perform pdfcnv_convertotf in program saplstxw
    tables otfdata
    pdf
    using
    'T'
    archive_index
    1
    'T'
    pdf_bytecount
    app_tot_xstring
    and then perform the hex conversion, but the printout is full of # chars. The good characters are followed by the # char. It looks like the unicode conversion is not good.
    Thank you in advance for your help.
    Best regards,
    Donatella

    Welcome to SDN
    check out this weblog where Thomas Jung explains unicode conversion for excel, the same thing could be applied in your case as well
    /people/thomas.jung3/blog/2004/08/09/bsp-download-to-excel-in-unicode-format
    Regards
    Raja

Maybe you are looking for