EBCDIC conversion

hi
my requirement is to create a function module for EBCDIC conversion for -ve quantities. this is for Accounts Payable Invoices Record
for example a Quantity Received, S9(8),  of -1150 ... will be passed as 0000115}                                             
For example an A/P Invoice Amount, S9(10)v9(2),  of -592.52 ... will be passed as 00000005925K                                             
Negative                                        
     0 = }                                        
     1 = J                                        
     2 = K                                        
     3 = L                                        
     4 = M                                        
     5 = N                                        
     6 = O                                        
     7 = P                                        
     8 = Q                                        
     9 = R
with regards,
srinath.

Hi,
Have you considered using the ABAP command TRANSLATE?
You can disassemble the value (WRITE into a character structure with 8 + 1 character fields) and then TRANSLATE the second field using the dictionary you wrote in your post.
TRANSLATE ls_value-last_digit USING '0}1J2K3L4M5N6O7P8Q9R'.
<<text removed>>
Regards,
Ogeday
Edited by: Matt on Feb 17, 2009 5:56 AM - Please do not ask for points

Similar Messages

  • Reg Unicode-Ebcdic Conversion

    can anyone Suggest the Way of Converting
    unicode char set to Ebcdic & vice versa.. too..
    conversion shld happen within java

    I am working on this myself, here is what I have come up with but it is still in testing. I am mainly unsure what dangers there are in the cast convesrionsfrom (ints to chars / chars to ints)
    public class EBCDICtoASCIIConverter {
         /** ASCII <=> EBCDIC conversion functions */
         static int[] a2e = {
    0, 1, 2, 3, 55, 45, 46, 47, 22, 5, 37, 11, 12, 13, 14, 15,
    16, 17, 18, 19, 60, 61, 50, 38, 24, 25, 63, 39, 28, 29, 30, 31,
    64, 79,127,123, 91,108, 80,125, 77, 93, 92, 78,107, 96, 75, 97,
    240,241,242,243,244,245,246,247,248,249,122, 94, 76,126,110,111,
    124,193,194,195,196,197,198,199,200,201,209,210,211,212,213,214,
    215,216,217,226,227,228,229,230,231,232,233, 74,224, 90, 95,109,
    121,129,130,131,132,133,134,135,136,137,145,146,147,148,149,150,
    151,152,153,162,163,164,165,166,167,168,169,192,106,208,161, 7,
    32, 33, 34, 35, 36, 21, 6, 23, 40, 41, 42, 43, 44, 9, 10, 27,
    48, 49, 26, 51, 52, 53, 54, 8, 56, 57, 58, 59, 4, 20, 62,225,
    65, 66, 67, 68, 69, 70, 71, 72, 73, 81, 82, 83, 84, 85, 86, 87,
    88, 89, 98, 99,100,101,102,103,104,105,112,113,114,115,116,117,
    118,119,120,128,138,139,140,141,142,143,144,154,155,156,157,158,
    159,160,170,171,172,173,174,175,176,177,178,179,180,181,182,183,
    184,185,186,187,188,189,190,191,202,203,204,205,206,207,218,219,
    220,221,222,223,234,235,236,237,238,239,250,251,252,253,254,255
         static int[] e2a = {
    0, 1, 2, 3,156, 9,134,127,151,141,142, 11, 12, 13, 14, 15,
    16, 17, 18, 19,157,133, 8,135, 24, 25,146,143, 28, 29, 30, 31,
    128,129,130,131,132, 10, 23, 27,136,137,138,139,140, 5, 6, 7,
    144,145, 22,147,148,149,150, 4,152,153,154,155, 20, 21,158, 26,
    32,160,161,162,163,164,165,166,167,168, 91, 46, 60, 40, 43, 33,
    38,169,170,171,172,173,174,175,176,177, 93, 36, 42, 41, 59, 94,
    45, 47,178,179,180,181,182,183,184,185,124, 44, 37, 95, 62, 63,
    186,187,188,189,190,191,192,193,194, 96, 58, 35, 64, 39, 61, 34,
    195, 97, 98, 99,100,101,102,103,104,105,196,197,198,199,200,201,
    202,106,107,108,109,110,111,112,113,114,203,204,205,206,207,208,
    209,126,115,116,117,118,119,120,121,122,210,211,212,213,214,215,
    216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,
    123, 65, 66, 67, 68, 69, 70, 71, 72, 73,232,233,234,235,236,237,
    125, 74, 75, 76, 77, 78, 79, 80, 81, 82,238,239,240,241,242,243,
    92,159, 83, 84, 85, 86, 87, 88, 89, 90,244,245,246,247,248,249,
    48, 49, 50, 51, 52, 53, 54, 55, 56, 57,250,251,252,253,254,255
         static char ASCIItoEBCDIC(char c)
         int n = (int)c;
                   System.out.println("ASCII Character " + c + " is in position " + n);
                   System.out.println("EBCDIC Character is in position " + a2e[n]);
         return (char)a2e[n];
         static char EBCDICtoASCII(char c)
         int n = (int)c;
                   System.out.println("EBCDIC Character " + c + " is in position " + n);
                   System.out.println("ASCII Character is in position " + e2a[n]);
         return (char)e2a[n];
         static String ASCIItoEBCDIC(String s)
              StringBuffer sb = new StringBuffer();
              for (int i=0;i<s.length();i++) {
                   char c = s.charAt(i);
         int n = (int)c;
                   System.out.println("ASCII Character " + c + " is in position " + n);
                   System.out.println("EBCDIC Character is in position " + a2e[n]);
         //return (char)a2e[n];
         sb.append((char)a2e[n]);
    return sb.toString();
         static String EBCDICtoASCII(String s)
              StringBuffer sb = new StringBuffer();
              for (int i=0;i<s.length();i++) {
                   char c = s.charAt(i);
         int n = (int)c;
                   System.out.println("EBCDIC Character " + c + " is in position " + n);
                   System.out.println("ASCII Character is in position " + e2a[n]);
         sb.append((char)e2a[n]);
    return sb.toString();
         public static void main(String[] args) {
              //char e = ASCIItoEBCDIC((char)0x6b);
              String etext = ASCIItoEBCDIC("Test String");
              System.out.println("" + "Test String" + "=" + etext);
              //char a = EBCDICtoASCII((char)0x92);
              String atext = EBCDICtoASCII(etext);
              System.out.println("" + "Test String" + "=" + atext);
    }

  • ASCII to EBCDIC conversion

    Hi there!
    I am working on an Oracle data extract project. My output file will send to a DB2 database and a mainframe application. In my file, some fields' type is COMP-3. I use Oracle build-in function convert () to convert to EBCDIC. This works fine in SQL*PLUS. But when I use it in my PL/SQL program, I got "ORA-06502: PL/SQL: numeric or value error: character to number conversion error". Here is my program.
    FUNCTION get_vd_pro_norm_mth_amt(p_account_rec IN ACCOUNT_ROW) return varchar2
    as
    v_scaled_amount               varchar2(15);
    BEGIN
         select convert(a.scaled_amount, 'WE8EBCDIC500','US7ASCII')
         into v_scaled_amount
         from pin61_02.rate_bal_impacts_t a, pin61_02.rate_plan_t b
         where b.poid_id0 = a.obj_id0 and
              b.account_obj_db = p_account_rec.poid_db and
              b.account_obj_id0 = p_account_rec.poid_id0 and
              b.account_obj_type = p_account_rec.poid_type and
              b.account_obj_rev = p_account_rec.poid_type;
         return v_scaled_amount;
    EXCEPTION
    WHEN OTHERS THEN
    RETURN NULL;
    END get_vd_pro_norm_mth_amt;
    I guess the wrong data type of my variable v_scaled_amount generated the problem. I do not know which data type should I use to store EBCDIC data.
    Thanks a lot!
    Max

    try with nvarchar2.
    NVARCHAR2
    You use the NVARCHAR2 datatype to store variable-length Unicode character data. How the data is represented internally depends on the national character set specified when the database was created, which might use a variable-width encoding (UTF8) or a fixed-width encoding (AL16UTF16). Because this type can always accommodate multibyte characters, you can use it to hold any Unicode character data.
    The NVARCHAR2 datatype takes a required parameter that specifies a maximum size in characters. The syntax follows:
    NVARCHAR2(maximum_size)
    Because the physical limit is 32767 bytes, the maximum value you can specify for the length is 32767/2 in the AL16UTF16 encoding, and 32767/3 in the UTF8 encoding.
    You cannot use a symbolic constant or variable to specify the maximum size; you must use an integer literal.
    The maximum size always represents the number of characters, unlike VARCHAR2 which can be specified in either characters or bytes.
    my_string NVARCHAR2(200); -- maximum size is 200 characters
    The maximum width of a NVARCHAR2 database column is 4000 bytes. Therefore, you cannot insert NVARCHAR2 values longer than 4000 bytes into a NVARCHAR2 column.
    You can interchange VARCHAR2 and NVARCHAR2 values in statements and expressions. It is always safe to turn a VARCHAR2 value into an NVARCHAR2 value, but turning an NVARCHAR2 value into a VARCHAR2 value might cause data loss if the character set for the VARCHAR2 value cannot represent all the characters in the NVARCHAR2 value. Such data loss can result in characters that usually look like question marks (?).
    [email protected]
    Joel P�rez

  • ASCII-EBCDIC conversion

    Hello,
    I am looking for a tool which can convert from ASCII to EBCDIC (firstly) and
    from EBCDIC to ASCII.
    (I should store some columns in EBCDIC because some COBOL program should read it.)
    Regards,
    Laszlo

    Thank you !
    But how can i use the other character sets instead of the common ?
    May I load into the database ?
    For example:
    create table OIT015
    ENTSTAMP TIMESTAMP(6) not null,
    ORDNR NUMBER(11) not null,
    ORDERDATEN VARCHAR2(3800) not null
    tablespace PLINK_HBCI
    pctfree 10
    pctused 40
    initrans 1
    maxtrans 255
    storage
    initial 64K
    minextents 1
    maxextents unlimited
    insert into OIT015 (ENTSTAMP, ORDNR, ORDERDATEN)
    values (to_timestamp('11-11-0011 11:11:11.000011', 'dd-mm-yyyy hh24:mi:ss.ff'), 2, 'X');
    update oit015 set orderdaten=convert('00000396375160','WE8EBCDIC500') where ordnr=2
    commit;
    My collegues wrote the same data with COBOL program into test table in EBCIDIC.
    There is the result:
    select dump(t.orderdaten,16), t.* from oit015 t
    0,0,3,96,37,51,60,c     11.11.11 11:11:11.000011     1111111111     
    f0,f0,f0,f0,f0,f3,f9,f6,f3,f7,f5,f1,f6,f0     11.11.11 11:11:11.000011     2     ?????óuöó÷onö?
    My collegues said that 'WE8EBCDIC500' is special display format on mainframe.

  • Re: Code convert ascii to EBCDIC

    At 09:06 PM 8/13/97 +0900, Isao Yamada wrote:
    I am trying conversion ascii-to-EBCDIC conversion.You didn't mention the platform, but if it is Unix, I would just pipe the
    input through the dd command. Even if this is a Win32 platform, I would
    consider buying the Win95 toolkit from Ready-to-Run and using the dd
    command in it.
    =========================================================================
    Thomas Mercer Hursh, Ph.D email: [email protected]
    Computing Integrity, Inc. sales: 510-233-9329
    550 Casey Drive - Cypress Point support: 510-233-9327
    Point Richmond, CA 94801-3751 fax: 510-233-6950

    Isao,
    You can convert arbitrary binary data
    using MemoryStream, ReadBinary(), pointers
    and casting to convert simple binary types to the
    type you require. Here is a partial code fragment
    from some binary communications code we wrote
    to give you the idea. Although it looks like
    'C' in places it really is valid TOOL code.
    buf : MemoryStream = new;
    theHeader : MemoryStream = new;
    theData : MemoryStream = new ;
    tempData : BinaryData = new ;
    countBytes : integer = 0 ;
    tempcountBytes : integer = 0 ;
    ConnId : ui2 = 0 ;
    magicNumber : ui4 = 0x5aa50ff0 ;
    p : pointer = nil;
    buf.Open(accessMode = SP_AM_READ_WRITE);
    theHeader.Open(accessMode = SP_AM_READ_WRITE);
    // Read the header
    theHeader.Flush() ;
    theHeader.Seek( position = SP_RP_START ) ;
    countBytes = 0 ;
    // Parse theHeader here
    theHeader.Seek( position = SP_RP_START ) ;
    theHeader.ReadBinary( target = tempData, length = 4 ) ;
    p = (pointer)(tempData.Value) ;
    PacketLength = *(pointer to ui4)(p) ;
    theHeader.ReadBinary( target = tempData, length = 1 ) ;
    p = (pointer)(tempData.Value) ;
    PacketType = *(pointer to ui1)(p) ;
    theHeader.ReadBinary( target = tempData, length = 2 ) ;
    p = (pointer)(tempData.Value) ;
    PacketSeqNo = *(pointer to ui2)(p) ;
    theHeader.ReadBinary( target = tempData, length = 2 ) ;
    p = (pointer)(tempData.Value) ;
    ConnId = *(pointer to ui2)(p) ;
    theHeader.ReadBinary( target = tempData, length = 4 ) ;
    p = (pointer)(tempData.Value) ;
    magicNumber = *(pointer to ui4)(p) ;
    if( magicNumber != 0x5aa50ff0 ) then
    buf.Close() ;
    theHeader.Close() ;
    return FALSE ;
    end if ;
    [email protected]
    MIME-Version: 1.0
    Content-type: text/plain; charset=iso-2022-jp
    Hi! Everyday I read some useful tips from this mailing-list.
    I am trying conversion ascii-to-EBCDIC conversion.
    I want to read binary-file, because EBCDIC code data come by floppy-disk.
    But I can't read this file into TextData object.
    (TextData Class have method to access by byte.)
    I know that I can read binary-data into BinaryData object.
    if I can access BinaryData class by byte or read binarydata into textdata.
    Does anyone have good idea for this question?
    thanks.
    T.C.F.Co.Ltd.
    Isao Yamada([email protected])
    Any views expressed in this message are those of the individual sender,
    except where the sender specifically states them to be the views of
    Reuters Ltd.

  • Java on OS390 (MVS)

    Anybody here solved any of the issues of using Java on an MVS mainframe (running zOS in fact)?
    I'm specifically referring to:
    * Editing (square brackets)
    * Uploading .java and/or .class files from NT
    * Running within CICS - is there a 3270 display option?
    * Any other useful tidbits you know about
    I'd REALLY appreciate any information available. If you want Duke dollars let me know!
    Thanks,
    Tim

    Anybody here solved any of the issues of using Java on
    an MVS mainframe (running zOS in fact)?I haven't done that but some of the questions you ask are OS-independent, I think.
    * Editing (square brackets)You are trying to edit on a zOS keyboard which doesn't have []? Then do your editing on a PC, which does.
    * Uploading .java and/or .class files from NTIf you are using FTP, make sure you use the Binary or Image option for uploading .class files. You want to avoid any ASCII-EBCDIC conversion. Probably the same for .java, but I don't know the details there.
    * Running within CICS - is there a 3270 display
    option?
    * Any other useful tidbits you know aboutSorry.

  • Long / double value convertion to Packed Decimal

    Hi,
    Could anybody tell me how to convert a long / double value to Packed Decimal (AS400) ?
    Thanks,
    Probir

    Now I'm writing this value in a flat file by
    FileOutputStream and sending to mainframe through FTP.
    But the mainframe people said it's not converted into
    packed decimal. Is it the right way to convert ??When you say "mainframe" I assume you are referring to a machine that uses EBCDIC. Java, even on the iSeries, uses Unicode and not EBCDIC, so when you FTP anything to the mainframe it will go through an ASCII-to-EBCDIC conversion. You want this to happen for text but you don't want it to happen for packed decimals; your carefully-constructed x'12' x'3f' bytes will be dutifully converted into EBCDIC garbage.
    FTP of an iSeries file (in the QSYS.LIB file system) to a mainframe is trivial because both client and server use EBCDIC, so there are no conversion issues. So if you could do it that way, you definitely should. Otherwise you are going to have to take your packed decimal data and replace it by the bytes that would be translated into it if it were in EBCDIC. The translation table QEBCDIC in library QSYS shows you how it does that, so use that table. You can look it with the command WRKTBL QSYS/QEBCDIC. You'll notice for example that x'09' in ASCII gets converted to x'05' in EBCDIC. So if you want to get x'05' into part of a packed decimal field on the mainframe, you have to send it x'09'. And so on. Like I said, I would recommend doing something other than this. Ask the mainframe people to not make you used packed decimal, for example.
    PC&#178;

  • Conversion from UTF  to EBCDIC format- Urgent

    I want to convert the data from UTF* format to EBCDIC format and create a flat file for the same. Is there any utility tools available in oracle. If not what are the other possibilities? pls help me.
    Thanks
    Krishnaraj

    Hi ,
    I am trying to convert the normal text data to EBCDIC. As we all know, there is a corresponding value for each normal character in ASCII/HEX/BINARY/EBCDIC etc.
    Using CONVERT I am able to see some data converted correctly but rest of hte accented characters not correctly.
    select convert('^', 'US7ASCII','EBCDIC' ) from dual;
    select convert(';' ,'WE8EBCDIC500','US7ASCII') from dual;
    ^ = ascii normal txt
    ; = corresponding ebcdic of ^
    Internally CONVERT function seems to be doing correct conversion but there is a problem wiht the actually new - to be replaced characters. SQLPLUS is not able to display all the characters correctly. For all the accented chars of "a", it shows plain english a, same wiht e , u etc.
    I would like to know is there anyone who knows what client side settings need to be done so that the CONVERT function output is displayed correctly on SQLPLUS.
    I am using Oracle 9i Rel 2
    NLS_LANG on my client (win XP) is set to AMERICAN_AMERICA.WE8MSWIN1252
    As seen in the CONVERT function, the correct charset is - 'WE8EBCDIC500'
    And the db params are as follows --
    ===========================================
    SQL> select * from NLS_DATABASE_PARAMETERS;
    PARAMETER VALUE
    NLS_LANGUAGE AMERICAN
    NLS_TERRITORY AMERICA
    NLS_CURRENCY $
    NLS_ISO_CURRENCY AMERICA
    NLS_NUMERIC_CHARACTERS .,
    NLS_CHARACTERSET WE8ISO8859P1
    NLS_CALENDAR GREGORIAN
    NLS_DATE_FORMAT DD-MON-RR
    NLS_DATE_LANGUAGE AMERICAN
    NLS_SORT BINARY
    NLS_TIME_FORMAT HH.MI.SSXFF AM
    NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
    NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
    NLS_DUAL_CURRENCY $
    NLS_COMP BINARY
    NLS_LENGTH_SEMANTICS BYTE
    NLS_NCHAR_CONV_EXCP FALSE
    NLS_NCHAR_CHARACTERSET AL16UTF16
    NLS_RDBMS_VERSION 9.2.0.1.0
    ===================================================
    Can anyone help me on this??
    Thanks in advance
    regards
    Abhivyakti,
    Pune, India

  • EBCDIC to ASCII conversion

    Hello experts,
    i'm performing EBCDIC to ASCII  conversion in our system and the export (command R3SETUP dbextr.r3s) terminates with the error :
    EXP) TABLE: "MCDYNTYPEN"
    (EXP) TABLE: "MCDYNUM"
    DbSl Trace: Error -904 in function exec_cached_fetch
    (EXP) ERROR: DbSlExeRead: rc = 99, table "MCHA"
         (SQL error -904)
    error message returned by DbSl:
    DbSl Trace: SQL error -904 with reason code 13
    Resource limit exceeded. Job=323987/DEVCPC/R3LOAD
    #STOP: 20100416175601
    Thank you,

    Once more the installation stopped with error...
    ERROR 2010-07-07 17:33:50 DBR3LOADEXEC_IND_DB4ASCII R3loadPrepare:0
    Child exited with error: rc = 2                                
    child_pid = 3                                                  
    See logfile SAPAPPL0.log for further information
    ERROR 2010-07-07 17:34:33 DBR3LOADEXEC_IND_DB4ASCII R3loadPrepare:0 
    Child exited with error: rc = 2                                 
    child_pid = 3                                                   
    See logfile SAPAPPL1_10.log for further information
    .ERROR 2010-07-07 17:36:01 DBR3LOADEXEC_IND_DB4ASCII R3loadPrepare:0
    Processes started: 46                                          
    Ended with error:  2                                           
    load tool ended with error.                                    
    See above SAP*.log errors.
    Error: Can not unlock the LogWriter. 
    Possible reasons:                                                                   
    No permissions to set the lock             
    Error: Can not lock the LogWriter.                                  
    Possible reasons:                                                   
    No permissions to set the lock                                      
    Error: Can not unlock the LogWriter.                                
    ERROR 2010-07-07 17:36:04 DBR3LOADEXEC_IND_DB4ASCII InstallationDo:0
    Phase failed.
    The message in "SAPAPPL0.log" is that
    "(IMP) ERROR: SQL statement failed: DROP TABLE "MCHA"
    MCHA in *LIBL not table, view, or physical file.
    " and in "SAPAPPL1_10.log" is
    "#Trying to create primary key "S602+0"
    (IMP) ERROR: CREATE statement failed for object "S602"
         (ALTER TABLE R3DEVDATA/"S602" ADD CONSTRAINT "S602+0" PRIMARY KEY ( "MANDT", "SSOUR", "VRSIO", "SPMON", "SPTAG", "SPWOC", "SPBUP", "VKORG", "VTWEG", "ZZIDIWTIS", "PRODH", "MATNR", "WERKS"  ))
    DbSlExecute: rc = 99
    (SQL error -603)
    error message returned by DbSl:
    Unique index cannot be created because of duplicate keys. "

  • EBCDIC to ASCII data conversion

    Hi,
    We have JDE system as source to bring data into BW. Howvever the format of the data is in EBCDIC and the data looks junk with out converting the same to ASCII.
    A quick research showed me that there are 3rd party tools to convert the data from EBCDIC to ASCII.
    Just wondering whether is there a function in BW system which takes care of this conversion?
    any thoughts? did any one come across this situation ?
    Inputs appreciated.
    Regards

    Hi
    Thanks for your response.
    Now where this class has to be applied ?...
    what does exactly this class do? can you share some insights on this ?
    Thanks

  • Downtime for EBCDIC to ASCII conversion

    Hello,
    we have performed successfully an EBCDIC to ASCII conversion for a client's development system.
    The total downtime was about 24 hours.
    The customer though, refuses to have downtime of their production system, since it severely affects their systems.
    Is there a possibility not to have any downtime for an EBCDIC to ASCII conversion ?
    We were thinking as alternatives to build a second productive system, do the conversion there and after finishing, to apply journal receivers from the real production system. This would minimize their downtime to the backup time of the production system and the time needed to apply the journal receivers ?!?
    Has anyone performed such a task ?
    Would this be feasible (we would have to apply journals from an EBCDIC system to an ASCII system)
    Thank you very much
    Katerina Psalida

    Hi Katerina,
    applying journal changes from the EBCDIC system to the ASCII system will not work for several reasons, primarily because the journal keeps track of the journaled tables through an internal journal ID, which will not be the same after the EBCDIC to ASCII conversion. Technically it would not work because the data in the journal entries is kept very low-level, so a conversion from EBCDIC to ASCII during apply is not implemented. Also, the journal entries are based on the relative record numbers in the table, and after the conversion, the relative record numbers will not necessarily be the same.
    I am not aware of a zero-downtime conversion option. You can speed up the conversion if you use the "Inplace" conversion option. Did you use that when you measured the 24 hours downtime at the test system? If not, you should give the Inplace option a try. Depending on your data, it could reduce the downtime significantly.
    Kind regards,
    Christian Bartels.

  • GUIA Conversion EBCDIC to ASCII

    Dear Gurus!!
    I'm needing a manual or guide of the conversión EBCDIC to ASCII in the V5R3M0 iSeries. i570.
    Can you help me?
    Best Regards.
    Luis

    Hi Morga,
    it has nothing to do with the OS release. You can stay on EBCDIC because of that as you found out.
    But:
    All release newer than 4.6D are in ASCII and UNICODE ONLY!
    => If you want to upgrade to e.g. ECC 6.0, you MUST convert to ASCII first ...
    hope this helps,
    Regards
    Volker Gueldenpfennig, consolut.gmbh
    http://www.consolut.de - http://www.4soi.de - http://www.easymarketplace.de

  • 46C EBCDIC to UNICODE upgrade and conversion

    Can the UNICODE conversion processed be used directly on a 46C EBCDIC source system? Or is a conversion to 46C ASCII required before a UNICODE conversion?

    Hello Will,
    as Sally already explained, this is unfortunately not possible ;-((
    SAP does not support Unicode with 4.6C ;-(
    Therefore, only EBCDIC and ASCII are the options.
    As of 4.7 Unicode & ASCII are available.
    => the project could look as follows:
    - On 4.6 you need to go from EBCDIC to ASCII - 12 - 24h conversion time
    - Upgrade to ERP 6.0 EHP4 ASCII - total Runtime about 40-65h - downtime of that: 10-24h
    - Unicode Conversion Latin1 - 6-14h conversion time
    => You see, that the total runtime in one step is pretty long - e.g. for X-mas ...
    Otherwise, it is typical, that the ASCII CPC is done in one step and later on Upgrade & Unicode in one further step.
    For more details, we should talk together, but at least your project is pretty big ...
    Regards
    Volker Gueldenpfennig, consolut international ag
    http://www.consolut.net - http://www.4soi.de - http://www.easymarketplace.de

  • EBCDIC to ANSI Conversion

    Hi,
    We have a question from the partner and they want to know how the data from mainframe can be converted from EBCDIC to ANSI format?
    Any pointer would be helpful.
    Thanks
    Umesh

    Check out the DB2 z/OS Installation & Setup guide (...and, I think you mean ASCII and not ANSI...)
    If you use a typical GG capture process + data pump to send data to/from z/OS to/from unix/linux/windows, then GoldenGate v10+ should automatically convert between ASCII and EBCDIC when the pump sends the data to the remote trail. (It's been a while since I've tried.... But you can use logdump to verify if you have the environment to test with.) See the limitations in the aforementioned guide (e.g., multi-byte characters are not converted, unicode is not converted).
    Also, you may have to explicitly add in a conversion parameter if going to/from Nonstop... if you are, see the GG win/unix upgrade instructions for GG v11. It's just one parameter that I'm omitting here so as not to confuse the issue.
    Note also that if you're using logdump, there are specific ebcdic commands you can use to view trail data & trail header info on z/OS. Just type "help" in logdump on z/OS for all the options.
    If you're attempting to convert any of the unsupported data types -- then you'll probably have to do it in the database post-replication (e.g., Oracle DB has functions to do this), such as loading a staging table with the ebcdic data that is in turn processed and loads your ascii table. (There are probably a number of ways to accomplish this with varying degrees of complexity.)
    Cheers,
    -m

  • EBCDIC - ASCII Conversion for XI File Adapters

    All:
    Does XI File Adpater have built-in capability to convert EBCDIC to ASCII and vice versa?  We also need to handle pack decimals.  All mainframe file based integration scenarios require this capability.
    If there's no built-in capability available, are there any Java APIs available from SAP XI bundle some where.
    Thanks and appreciate your feedback.

    Hi,
    Unfortunately, there is no built-in EBCDEC-ASCII conversion in XI.  There are examples when you do a search on GOOGLE.
    The java function can be used in either java mapping or adapter user-module.
    Regards,
    Bill

Maybe you are looking for