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.

Similar Messages

  • 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. "

  • Convert JMS Headers from EBCDIC to ASCII when using JMS Bridge (WLS - WMQ)

    I have a Java app on Weblogic 11g using a Message Bridge to talk JMS with IBM Websphere MQ. The MQ server is running on IBM z/OS platform which uses EBCDIC encoding. I need to use the Weblogic message selector feature to filter messages on the bridge coming from Websphere MQ. But the JMS Headers of MSGs posted by WMQ are in EBCDIC format. How can I instruct MQ to convert the msg headers to ASCII before put on the bridge? Is there any flag on bindings config file? Or can I set some WMQ specific header before sending the msg on WLS side?
    Thanks in advance.

    Hi,
    Such option is not possible in weblogic but I think this property will help you with in MQ.
    Property - Convert EBCDIC newline
    Description - EBCDIC code pages contain a new line (NL) character that is not supported by the ASCII code pages (although some ISO variants of ASCII contain an equivalent). If messages are sent from a system that uses EBCDIC code pages (for example, a z/OS system) to a system that uses ASCII, you can control how the EBCDIC newline character is converted into ASCII format.
    The default value is NL_TO_LF, which means that the EBCDIC NL character (X'15') is converted to the ASCII line feed character LF (X'0A') for all EBCDIC to ASCII conversions. To convert the EBCDIC NL character according to the conversion tables on your operating system, click TABLE. Note that the results of a TABLE conversion can vary from platform to platform and from language to language; even on the same platform the results might vary if you use different coded character set identifiers (CCSIDs). To convert ISO CCSIDs using the TABLE method and use the NL_TO_LF method for all other CCSIDs, click ISO.
    Registry Stanza Key - ConvEBCDICNewline
    Also, the MQSeries (not MQSC) adapter provides the data conversion property may handle this conversion as well.
    Regards,
    Kal

  • Reg EBCDI to ASCII  conversion

    Hi,
          our project is converting from EBCDIC to ASCII conversion,
    we need to some changes for the programs, shown in T-CODE SLIN, if any one have any document , please help me in this regard how to correct the changes required.
    Regards.
    venkat

    hi
    data:pack type p deimals 2.
    first pass char value to pack and then from pack pass it to floting point variable.
    Regards
    Neha

  • Binary to Ascii conversion

    Dear experts,
    For BINARY to ASCII conversion, please give me some example programs (using methods).
    Thanks a lot in advance.
    Regards,
    Matt

    Hi,
    I think this link will be useful for you. Please go throught this link....
    http://help.sap.com/saphelp_erp2004/helpdata/en/d6/0dba8f494511d182b70000e829fbfe/frameset.htm
    Hope it will helps

  • 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

  • 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

  • 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

  • Convert EBCDIC to ASCII and ASCII to EBCDIC in PI7.0 SP14

    Wea re going to be implementing PI7.0 SP14.
    I am writing the technical specification for an inbound/outbound interface into/out of ECC 6.0!
    I need to convert the File that is created out of SAP into EBCDIC in PI and for the inbound convert the file from EBCDIC into ASCII for import into ECC.
    I have more than one way to this...
    The ways I have found so far are:
    Use MessageTransformBean, use TextCodepageConversionBean, XmlAnonymizerBean, using the File Encoding field on the File/FTP Adapter, XSLT mapping or Java mapping!
    I have checked the OSS Note 821267, but this doesn't help.
    I am sure all these methods have pros and cons...
    What would be the most efficient method of changing this?  It will be running hourly and have upto 6000 entries an hour - each way!

    Hi Barry,
    I think the most efficient way in my thinking is XSLT and Java mapping.
    For java mapping u just need to get thye jar file.I believe that the encoding cp285 / cp500 is EBCIDIC. Try printing
    byte [] msg = .. // whatever
    System.out.println(new String(msg, "cp285"));
    if you get an exception saying Cp285 is unknown you may need an international version of the JRE, depends on the version you're using.
    Also u can use this in reverse.
    Please see this post:
    Re: Handling Packed decimals in XI
    regards
    Aashish Sinha
    Edited by: Aashish Sinha on Mar 25, 2008 6:07 PM

  • Time comparision of ASCII conversion VS Unicode conversion

    In general how does the runtime of a Unicode conversion compare to that of the ASCII conversion?  For example, you perform the Unicode conversion on the same hardware on which you completed the ASCII conversion.  The ASCII conversion takes 20 hours.  Does the Unicode conversion take a similiar time?
    thanx
    Mark

    Hi Mark,
    first an answer, that comes only now, because my user was somehow locked or whatever ...
    How long does it take compared to the ASCII CPC ?
    As you are a latin-1 customer I guess, you could make use of the InPlace version in both attempts.
    The InPlace Unicode CPC Export will take 6-7h or the time of the Ascii Export if this was longer. The reload will take about 3h only.
    The major problem is on some other edge:
    The combined upgrade only works fine if you run all the scans and this will take several days ... even when they are "pretty useless" in your case. Therefore, I would recommend an ECC6 upgrade without unicode and then the unicode conversion directly afterwards - in a short special technique, that I used several times already.
    If it is "just" from 4.6C ASCII to ECC 6.0 Unicode, the week will be fully sufficient including all backups - which can sometimes run in parallel. (at least with my ideas)
    I did something like that from 4.6B ASCII to ecc5 Unicode on one weekend from friday evening until sunday afternoon. (for sure, depending on the systemsize)
    Regards
    Volker Gueldenpfennig, consolut.gmbh
    http://www.consolut.de - http://www.4soi.de - http://www.easymarketplace.de

  • String to Packed ASCII conversion

    Hi,
    Can anyone provide any examples or Algorithm to convert 'ASCII' to 'Packed ASCII'
    Packed ASCII format is used in HART protocol
    Thanks.

    Hi,
    Packed ASCII is noting but a data compression technique.
    HART makes limited use of data compression in the form of Packed ASCII.  Normally, there are 256 possible ASCII characters, so that a full byte is needed to represent a character.  Packed ASCII is a subset of full ASCII and uses only 64 of the 256 possible characters.  These 64 characters are the capitalized alphabet, numbers 0 through 9, and a few punctuation marks.  Many HART parameters need only this limited ASCII set, which means that data can be compressed to 3/4 of normal.  This improves transmission speed, especially if the textual parameter being communicated is a large one.
        Since only full bytes can be transmitted, the 3/4 compression is fully realized only when the number of uncompressed bytes is a multiple of 4.  Any fractional part requires a whole byte.  Thus, if U is the number of uncompressed bytes, and T the number of transmitted bytes; find T = (3*U)/4 and increase any fractional part to 1.  As examples, U = 3, 7, 8, and 9 result in T = 3, 6, 6, and 7.
        The rule for converting from ASCII to Packed ASCII is just to remove bits 6 and 7 (two most significant).  An example is the character "M".  The full binary code to represent this is 0100,1101.  The packed binary code is 00,1101.  The rules for conversion from packed ASCII back to ASCII are (1) set bit 7 = 0 and (2) set bit 6 = complement of packed ASCII bit 5.
        Note that, with some exceptions, HART Slaves don't need to do the compression or know anything about the compression.  They simply store and re-transmit the already compressed data.  Again, this is an instance where the more difficult software is placed in the device (Master) that is more capable of dealing with it.
    Thanks and Regards
    Himanshu Goyal
    Thanks and Regards
    Himanshu Goyal | LabVIEW Engineer- Power System Automation
    Values that steer us ahead: Passion | Innovation | Ambition | Diligence | Teamwork
    It Only gets BETTER!!!

  • How to reduce downtime for setup table

    Scenario u2013According to system data, Setup table will normally take 5 days to fill but client agreed only for max 2 days downtime. User can do change only last 3 month documents not before that. For filling 3 month data in set up table 1 day required so I have to mange options accordingly.
    Datasource u2013 2LIS_13_VDITM -> DSO u2013 ZBIllIG ->Info cube
    I have to Reduce Downtime for Setup table so planning following optionsu2013
    1.     First run the info package for Initialization without data transfer. Then start filling setup table without blocking the User. In case Users changes any document at the time of filling setup table then these changes will move to delta queue. Once setup table filled then execute full repair request and then Delta info package.
    2.     Early delta initialization u2013 no idea how to perform steps.
    Please share your views with detail steps.
    OLI*BW doesnu2019t have any date range in selection criteria so manually I will find out document for particular dates and use these document range.
    Checked lot of post in SDN but still expecting final answer to go ahead in Production.

    Hi ,
    Your requirement is Billing ODS and Cube - Reset up in R/3 SYSTEM & Initialization in BW SYSTEM .
    Before starting find the previous data load volume and size.
    1.Go to LBWG application value=13 (Always Schedule the job in the back-ground mode)
    2.Verify using tcode u2018SE16u2019 that there are NO records in u2018MC13VD0ITMSETUPu2019 table after above delete job is complete.
    3.Suspend the process chain job in BW.This is to avoid it getting kicked off while the reload process is still in progress.
    4.Need to check LBWQ in R/3 system for MCEX13, unprocessed Outbound queue (records). This should be empty as the last delta would have processed all.
    5.Delete the initflag in BW.
    6.Need to check RSA7 in R/3 SYSTEM to verify that there is NO record for 2LIS_13_VDITM    (to be done right before the Setup job).
    7.Create New Info Package for Info Source '2LIS_13_VDITM' for u2018Initialize without Data Transfer Optionu2019 .Execute the package.Re-establish the Delta processing flags in R/3 and BW for the Billing TD load .
    8.Save the record count for table u2018VBRPu2019 using SE16 right before the setup job.
    9.Schedule Billing Data Setup Job 'OLI9BW'  in R/3 SYSTEM .
    10.After the Billing Setup job is complete in R/3 system, get the record count of table u2018VBRPu2019 again using u2018SE16u2019
    Expeted time in R/3:5 to 7 hrs(setupjobs)
    Expeted time for init and fullload : 6 hrs
    ODS activation : 3hrs
    Cube and with agrregates fill all : 8hrs.
    Thanks,
    naidu.

  • Best practices to reduce downtime for Database releases(rolling changes)

    Hi,
    What are best practices to reduce downtime for database releases on 10.2.0.3? What DB changes can be rolling and what can't?
    Thanks in advance.
    Regards,
    RJiv.

    I would be very dubious about any sort of universal "best practices" here. Realistically, your practices need to be tailored to the application and the environment.
    You can invest a lot of time, energy, and resources into minimizing downtime if that is the only goal. But you'll generally pay for that goal in terms of developer and admin time and effort, environmental complexity, etc. And you generally need to architect your application with rolling upgrades in mind, which necessitates potentially large amounts of redesign to existing applications. It may be perfectly acceptable to go full-bore into minimizing downtime if you are running Amazon.com and any downtime is unacceptable. Most organizations, however, need to balance downtime against other needs.
    For example, you could radically minimize downtime by having a second active database, configuring Streams to replicate changes between the two master databases, and configure the middle tier environment so that you can point different middle tier servers against one or the other database. When you want to upgrade, you point all the middle tier servers against database A other than 1 that lives on a special URL. You upgrade database B (making sure to deal with the Streams replication environment properly depending on requirements) and do the smoke test against the special URL. When you determine that everything works, you configure all the app servers to point at B and have Streams replication process configured to replicate changes from the old data model to the new data model), upgrade B, repeat the smoke test, and then return the middle tier environment to the normal state of balancing between databases.
    This lets you upgrade with 0 downtime. But you've got to license another primary database. And configure Streams. And write the replication code to propagate the changes on B during the time you're smoke testing A. And you need the middle tier infrastructure in place. And you're obviously going to be involving more admins than you would for a simpler deploy where you take things down, reboot, and bring things up. The test plan becomes more complicated as well since you need to practice this sort of thing in lower environments.
    Justin

  • Creating a custom java module for excel to xml conversion.

    Hi Gurus,
    I am creating a custom java module in sap nwds 7.3 for Excel to XML Conversion. But I am getting following error
    Classpath dependency validator message.
    Classpath entry  will not be exported or published. Runtime ClassNotFoundExceptions may result. 
    I imported the Jars from a different PI system and i am using NWDS in local PC with creating a separate folder with all JARs and also imported them using build path option.
    This issue is occuring for all the jars imported.
    I am using following code.
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Map;
    import com.sap.aii.mapping.api.StreamTransformation;
    import com.sap.aii.mapping.api.AbstractTrace;
    import java.util.HashMap;
    import jxl.Cell;
    import jxl.Workbook;
    public class JavaMappingExcelToXML implements StreamTransformation{
    private Map map = null;
    private AbstractTrace trace = null;
    public void setParameter(Map arg0) {
    map = arg0; // Store reference to the mapping parameters
    if (map == null) {
    this.map = new HashMap();
    public static void main(String args[]) { //FOR EXTERNAL STANDALONE TESTING
    try {
    FileInputStream fin = new FileInputStream ("c:/ashu.xls"); //INPUT FILE (PAYLOAD)
    FileOutputStream fout = new FileOutputStream ("C:/Users/ashutosh.a.upadhyay/My Documents/ashuXML2.xml"); //OUTPUT FILE (PAYLOAD)
    JavaMappingXLStoXML mapping = new JavaMappingXLStoXML ();
    mapping.execute(fin, fout);
    catch (Exception e1) {
    e1.printStackTrace();
    public void execute(InputStream inputstream, OutputStream outputstream) {
    String msgType = "Message Type name will come here";
    String nameSpace = "Namespace Name will come here";
    String xmldata = "";
    try {
    Workbook wb = Workbook.getWorkbook(inputstream);
    xmldata ="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+ "<ns0:"+msgType+" "+"xmlns:ns0=\""+nameSpace+"\n">";
    Cell[] cells ;
    Cell[] cellNames ;
    cellNames = wb.getSheet(0).getRow(0);
    for(int j=1;j<wb.getSheet(0).getRows();j++){
    xmldata = xmldata+"\n<Record>\n";
    cells = wb.getSheet(0).getRow(j);
    for(int i=0;i<wb.getSheet(0).getColumns();i++){
    xmldata = xmldata+"\t<"+cellNames[i].getContents()+">"+cells[i].getContents()+"</"+cellNames[i].getContents()+">\n";
    xmldata = xmldata+"</Record>";
    xmldata = xmldata+"\n</ns0:"+msgType+">";
    System.out.print(xmldata);
    xmldata.getBytes();
    wb.close();
    byte by[] = xmldata.getBytes();
    outputstream.write(by);
    inputstream.close();
    outputstream.close();
    System.out.println("\n"+"File processed");
    catch (Exception e) {
    e.printStackTrace();
    Request you to guide how to resolve this issue.
    Thanks  in advance

    Hi Gurus,
    I am creating a custom java module in sap nwds 7.3 for Excel to XML Conversion. But I am getting following error
    Classpath dependency validator message.
    Classpath entry  will not be exported or published. Runtime ClassNotFoundExceptions may result. 
    I imported the Jars from a different PI system and i am using NWDS in local PC with creating a separate folder with all JARs and also imported them using build path option.
    This issue is occuring for all the jars imported.
    I am using following code.
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Map;
    import com.sap.aii.mapping.api.StreamTransformation;
    import com.sap.aii.mapping.api.AbstractTrace;
    import java.util.HashMap;
    import jxl.Cell;
    import jxl.Workbook;
    public class JavaMappingExcelToXML implements StreamTransformation{
    private Map map = null;
    private AbstractTrace trace = null;
    public void setParameter(Map arg0) {
    map = arg0; // Store reference to the mapping parameters
    if (map == null) {
    this.map = new HashMap();
    public static void main(String args[]) { //FOR EXTERNAL STANDALONE TESTING
    try {
    FileInputStream fin = new FileInputStream ("c:/ashu.xls"); //INPUT FILE (PAYLOAD)
    FileOutputStream fout = new FileOutputStream ("C:/Users/ashutosh.a.upadhyay/My Documents/ashuXML2.xml"); //OUTPUT FILE (PAYLOAD)
    JavaMappingXLStoXML mapping = new JavaMappingXLStoXML ();
    mapping.execute(fin, fout);
    catch (Exception e1) {
    e1.printStackTrace();
    public void execute(InputStream inputstream, OutputStream outputstream) {
    String msgType = "Message Type name will come here";
    String nameSpace = "Namespace Name will come here";
    String xmldata = "";
    try {
    Workbook wb = Workbook.getWorkbook(inputstream);
    xmldata ="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+ "<ns0:"+msgType+" "+"xmlns:ns0=\""+nameSpace+"\n">";
    Cell[] cells ;
    Cell[] cellNames ;
    cellNames = wb.getSheet(0).getRow(0);
    for(int j=1;j<wb.getSheet(0).getRows();j++){
    xmldata = xmldata+"\n<Record>\n";
    cells = wb.getSheet(0).getRow(j);
    for(int i=0;i<wb.getSheet(0).getColumns();i++){
    xmldata = xmldata+"\t<"+cellNames[i].getContents()+">"+cells[i].getContents()+"</"+cellNames[i].getContents()+">\n";
    xmldata = xmldata+"</Record>";
    xmldata = xmldata+"\n</ns0:"+msgType+">";
    System.out.print(xmldata);
    xmldata.getBytes();
    wb.close();
    byte by[] = xmldata.getBytes();
    outputstream.write(by);
    inputstream.close();
    outputstream.close();
    System.out.println("\n"+"File processed");
    catch (Exception e) {
    e.printStackTrace();
    Request you to guide how to resolve this issue.
    Thanks  in advance

  • How to go for the Log Polar Conversion of the image.

    How to go for the Log Polar Conversion of the image.

    Hi,
    I'm not sure if you mean using the polar plot vi, but if so there is an example shipped with LabVIEW. Go to Example Finder and search for 'polar', and you should find Polar Plot Demo.vi. Also, here are some useful links:
    Link 1
    Link 2
    Hope this helps!
    Jeremy L.
    National Instruments
    Jeremy L.
    National Instruments

Maybe you are looking for