Binary data to form a character

Hi!
I'm making a byte array from reading a file.
Could anyone tell me how can I achieve 3 bytes of binary data to form a 6 character number?

So I have a binary file so called "Input file" . I' ve also got the "Output file", that has similar lines like this:
IPX5  74002709       0312359203 133586 0,004   CU.1.IPX0My job is to find out how I can get the output look from the input binary file according to a specification...
The specification says that there are 6 parts(these are the separated parts of the output lines) which are repeated in the binary Input file.
Two parts of them are ASCII data: the first part and the last part of the output line.
I've managed to read these from the input file using a byte array that I've converted into char, so I've got the first and last parts as output.
But the other 4 parts aren't ASCII data but character numbers.These have been converted into char,too, but I can't see them in the output..
For these parts the specification tells that for example: there is a part that is contained in 3 bytes and extracted to form a 6 character number...
So this is the point what I don' t get it how to solve this "byte to number" conversion...
I hope it would be clear enough..

Similar Messages

  • Smart forms convert to pdf binary data

    Dear All,
    I'm working on smart forms integrations with .net and  I need to send the smart forms PDF binary data though custom rfc .
    For that i'm  converting smart forms otf  data  to pdf in and pass this data  through rfc but this idata is is not wokring on .net guys when they are converting this on pdf..
    so is there any need of decoded smart forms otf data before passing through or i'm missing some basic step?
    Please guide me?
    Rg
    Anuj

    hi,
    Have a look on this wiki:
    [http://wiki.sdn.sap.com/wiki/display/Snippets/SmartformoutputtoPDFformat]
    And maybe this one could also interest you:
    [|http://wiki.sdn.sap.com/wiki/display/Snippets/SmartformtoMailasPDF+attachment]
    regards
    mickael

  • Forms and Binary data

    Is there a way to input or output data in binary format using Forms 10g?
    Is this possible natively or must I use a bean?

    You an upload files directly into the database, would that suffice?
    Regards
    Grant Ronald
    Forms Product Management

  • How-to bind binary data into textbox

    can i bind binary data into the textbox....
    coz..i get human unreadable character
    [B@184b867#     binary data - byte array
    supposingly ..i just need to convert to bytes.toString() to see the content...
    yet i try but..it still return this weird character...any idea...
    OutMailBean outMailBean = new OutMailBean();
    outMailBean.setHost(request.getParameter("SMTP").trim());
    outMailBean.setPort(request.getParameter("port").trim());
    outMailBean.setMessages(request.getParameterValues("message"));    //string[]
    //convert to byte array
    outMailBean.setMessage(util.convertStringBufferToByteArr(bean.getMessages()));
    //insert into table
    Statement stmt = con.createStatement();
    try {
    ResultSet rs = stmt.executeQuery(squery);
    try {
    while (rs.next()) {
    OutMailBean outMailBean = new OutMailBean();
    outMailBean.setEmailId(rs.getString("EMAILID"));
    outMailBean.setDateIn(rs.getString("DATEIN"));
    outMailBean.setMessage(rs.getBytes("MESSAGE"));
    System.err.println(rs.getBytes("MESSAGE").toString());
           //this will return human unreadable form........
    OutMailAckBean outMailAckBean = new OutMailAckBean();
    outMailAckBean.setAckDelivery(rs.getString("ACKDELIVERY"));     
    outMailAckBean.setReceipient(rs.getString("RECEIPIENT"));
    beanList.add(outMailBean);
    beanList.add(outMailAckBean);
                        } finally {
                             rs.close();
                   } finally {
                        stmt.close();
    Message was edited by:
            yzme yzme
    Message was edited by:
            yzme yzme

    Hi yzme,
    You need to convert the binary data to characters, a String, before you can properly display it. You say that <i>System.err.println(rs.getBytes("MESSAGE").toString());</i> prints human unreadable stuff. Maybe you need to use another character encoding, like this
    byte[] message = rs.getBytes("MESSAGE");
    String s = new String(message, "UTF-8"); // or "ISO-8859-1"
    It all depends on how the original email message, presumably text, was stored in the database. There's no general way to convert a byte[] to a String and vice versa.
    BTW, if you populate your OutMailBean using <i>outMailBean.setMessages(request.getParameterValues("message"));</i> then you're actually saying an email can have several messages and OutMailBean contains a <i>String[] messages</i> attribute. Then, you call the <i>outMailBean.setMessage</i> method which implies an email has one message and according to you comment OutMailBean contains a <i>byte[] message</i> attribute. The question is of course how you convert the <i>String[] messages</i> attribute to the <i>byte[] message</i> attribute. In other words, what does <i>util.convertStringBufferToByteArr</i> exactly do? It doesn't even convert a <i>StringBuffer</i>, but a <i>String[]</i>. What you probably want to do is something like
    //OutMailBean bean
    String[] messages = bean.getMessages();
    StringBuffer sb = new StringBuffer();
    for (int j = 0; j < messages.length; j++) {
      sb.append("message ").append(j).append("rn");
      sb.append(messages[j]).append("rnrn");
    bean.setMessage(sb.toString().getBytes("UTF-8"));
    Kind regards,
    Sigiswald

  • Binary data into a XML

    Hello,
    I'd like to know how I could insert binary data into a XML message, for example, an image.
    Does XML Java API support binary data insertion into a XML message? Or should I make my own classes to do this?
    As I've read in the next url http://www.javaworld.com/javaworld/javatips/jw-javatip117.html ,
    the best approach is to use a Base-64 encoding. The encoding algorithm processes a byte stream in 3-byte sequences. Each 3-byte sequence parcels into four 6-bit data units. Each 6-bit data unit then encodes into the character stream as the corresponding character from the character set: A-Z, a-z, 0-9, +, and /.
    Thanks

    Does XML Java API support binary data insertion into a
    XML message? Or should I make my own classes to do
    this?The XML Java API's support producing well-formed XML according to the XML specifications. Those specifications do not say (or even suggest) how you should encode binary data to put it into XML. If you want to encode your binary data in some way then you are free to do so, but you'll have to write your own code.

  • How to add an image - binary data is present in data interface

    Hi,
    we have the requirement that an image (e.g. pie chart) has to be present in a print form. Based on the data, the image always differs. It is not possible to set an URL to get the image so we decided to store the binary data in the data interface.
    Is it possible to map the image control to the data structure?
    How can we store the binary content of an image in the data structure (please think about unicode and non-unicode ERP systems)?
    Do you have any idea?
    Thank you very much.
    Thomas

    Hi Thomas,
                     You need to create an image field and in the source choose 'graphic content ; give the name of the variable which has the binary data . and give the type as 'MIME/image'.

  • How to extract binary data from a File?

    Hello there!
    Hope I'm right here.
    I have a slight problem with a file containing text- and binary-data. At the beginning of the file is only some text followed by some html-code and at the end is some binary stuff like a pdf oder an image (jpg/gif).
    My problem is now how to split these parts and save them in the suitable format. The text and the html are no problem, but I don't know how to extract the binary data. I tried it out with an Inputstream, but I don't know how to find the exact position where the binary data begins.
    Anyone have an idea how I can solve this?
    Thanks in advance and sorry for my bad english.

    I don't believe a bullet-proof solution exists.
    If you know where the HTML ends, you may skip whitespace and then assume the rest is binary data. Or, if you know the first bytes of the binary data, you may locate those. With either of these solutions, though, you risk coming across a file where it doesn't work as expected, for example if the first byte of the binary data happens to match a whitespace character.

  • How to use Binary data in Oracle(OLE DB)?

    I have the Oracle 8.1.6, I can store VARCHAR2 or CBLOB into oracle database(by DBTYPES_STR). But can NOT store binary data(DBTYPES_BYTES)such as RAW, BLOB into database. My platform is VC++,ATL,OLE DB, consumer. I try to use the Oracle tools to do that, but do not successful? Can you tell me how to store data into binary column in oracle?
    Thank you

    Better to trim those values after the form submission.
    Once you put them into form,
    user may also makes mistake by hitting space, right?
    Also, by trimming all form fields after submission, you will
    be sure that your DB is clean... no whitespaces on it.
    Well unless someone insert data directly onto it :)

  • Storing binary data to a file......

    Hi Friends,
    I am trying to make a webapp in which users can upload Videos and I can store that videos on the server. I have this bit of code:
        public ActionForward execute(
                ActionMapping mapping,
                ActionForm form,
                HttpServletRequest request,
                HttpServletResponse response) throws Exception{
                        VideoUploadForm myForm = (VideoUploadForm)form;
                        // Process the FormFile
                        FormFile myFile = myForm.getTheFile();
                        byte[] fileData    = myFile.getFileData();
      }My question is, should i store the byte array into some text file???Then how can i read it back and get the original format i.e *.avi or *.mpg.
    This might be easy,but this is my first time dealing with binary data,so your help would be appreciated.
    Thanks
    P.S: Any links would be appreciated

    Thanks BalusC,
    After lots of hardwork finally I am trying to upload the binary file in the database,but getting this error:
    java.sql.SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc, file_blob) values(1, 1, 'uploaded file from user', _binary'\0\0�!\0\0�\' at line 1
            at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2928)
            at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1571)
            at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1666)
            at com.mysql.jdbc.Connection.execSQL(Connection.java:2994)
            at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:936)
            at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:773)
            at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:168)This is my code thats trying to write that binary file:
    public class StoreData {
        private static Log log = LogFactory.getLog(StoreData.class);
        private static final String INSERT_BLOB = "Insert into videos.files (id, owner_id, desc, file_blob)" +
                                                  " values(1, 1, 'uploaded file from user', ?)";
        public void WriteData(VideoUploadForm myForm){
            log.info("Writing file to database");
            Connection conn = ConnectionUtil.getConnection();
         PreparedStatement stmt = null;
            // Process the FormFile
            FormFile myFile = myForm.getTheFile();
            byte[] bytes = null;
            try{
                bytes = myFile.getFileData();
            }catch(IOException ie){
                log.error("Upload File not Found");
                ie.printStackTrace();
            InputStream is = new ByteArrayInputStream(bytes);
            try {
                stmt = conn.prepareStatement(INSERT_BLOB);
                stmt.setBinaryStream(1,is,bytes.length);
                stmt.execute();
                stmt.close();
            }catch (Exception e) {
                log.error("Error writing data to file:");
                e.printStackTrace();
         } finally {
             ConnectionUtil.closeStatement(stmt);
             ConnectionUtil.closeConnection(conn);
    }Looking for some help here.....

  • Writing binary data to a file without carriage returns every 512 bytes

    Is there a VI for writing binary data to a file without carriage returns being inserted every 512 bytes?
    Thanks

    Hi Momolxg,
    I could be way off on this. I tried to simulate what you've done by
    making a for loop that would run a set number of times. For my example I
    used 1025. I wired the iteration terminal to a 'Write to SGL File.vi'
    outside the loop with indexing enabled. It wrote the SGL data from 0 to
    1024 to the file. I then read the file with a 'Read Characters from
    File.vi' and searched the output for a carriage return (0D hex). It was
    found five times. The reason why was the SGL number it was reading had a
    13 (0D hex) in it. Perhaps you're running into a similar problem?
    I tried it again, this time using the 'Write to I16 File.vi'. The
    carriage return was found five times: the 28th character the first time
    then on the 512th character four consecutive time
    s after that. I suppose
    that makes sense that you'd find a 0D in the numbers at equal spacings if
    they're incrementing this way... In this case the carriage returns you're
    seeing are actually numbers from your data.
    One big difference is that I'm using a set pattern of numbers. This
    doesn't appear to be your case. Is there a better way we can duplicate
    your problem? It sounds interesting. Again my simulation could be way
    off. (I'm also running this on LV60 for Linux so my results could be
    different)
    - Kevin
    In article <[email protected]>,
    "momolxg" wrote:
    > Is there a VI for writing binary data to a file without carriage returns
    > being inserted every 512 bytes? Thanks

  • How to output binary data to VISA

    i am interfacing labview with pic microcontroller through serial port using VISA. it is a stream of digital data which is being tranmitted ,stored in microcontroller and then retransmiited by microcontroller to other device...problem is when that data is converted to string to be given to VISA it makes 16bytes out of 16bits...for example if data was "11110000" (1byte) after converted to string it becomes 8 bytes and my microcontroller thibk that 8 bytes are coming................ please kindly tell me how to transmit binary data over serial port so that bit remains a bit dont become byte............................ data is 99bytes but after passing through VISA it become "99x16"bytes........ please help me
    regards
    umair

    The attached example in 8.0 converts a U16 into two U8, builds an array and with the Byte Array to String, converts to the hex string 8000 (two bytes). Note that the string indicator is configured for Hex Display (right click option).
    Now, when you say you want to see '1000001 on the hyperterminal of other PC', you are contradicting yourself. Hyperterminal cannot be set for binary display so if you want to see '10000001' in Hyperterminal, then you need 8 bytes (one for each ASCII character).
    I hope I have made myself clear.
    Attachments:
    U16 to Hex String.vi ‏8 KB

  • ABAP XSL mapping - Binary data of attached file

    I have a webservice which is converting attachment and putting it into XSLT Node. when I mapped this node to Attachment payload of my partner (using ABAP xsl mapping), I got an error.
    I was able to send the same file via SOAP UI...
    On further investigation of the http log files, I noticed that Binary data for both streams looked same, but when I did a word count, I noticed that SOAP UI was a single line file while my PI data was more than 400 lines.. so I coded a fn:transfer of this data to convert end of line character to empty value. it did seem to work...
    My question, is this approach correct? or is there any way to ensure binary data stream in XML node does not contain those additional characters?

    can you provide input xml
    Edited by: RajuGA on Dec 7, 2011 2:09 PM

  • Employee Photo Upload through binary data

    Hi all,
    I know the Provision for Photo upload through OAAD Tcode, I know FM to upload the photos by giving path as input data. my requirement is I have picture in the form of binary data . i want to upload that into PA30. I have return the following code. No Error but image is not displayed in PA30.Can u Please correct me?
    tables: toav0, toaom, twfdb, toapa.
    data: key like ojint-key,
          object like ojint-name,
          object_id like toav0-object_id,
          archiv_id like toav0-archiv_id,
          arc_doc_id like toav0-arc_doc_id,
          ablagedatum like sapb-sapabldate,
          ar_date like toav0-ar_date,
          del_date like toav0-del_date,
          sap_object like toaom-sap_object,
          ar_object like toaom-ar_object,
          expiry_tim like toaom-expiry_tim,
          method like ojint-method,
          return like ojint-return,
          parameter like ojint-parameter.
    data:begin of i_toav0 occurs 1.
            include structure toav0.
    data: end of i_toav0.
    data: begin of i_toaom occurs 1.
            include structure toaom.
    data: end of i_toaom.
    data: begin of fields occurs 1.
            include structure ojfields.
    data: end of fields.
    DATA:     filename1  TYPE string.
    Data: i_name TYPE STXBITMAPS-TDNAME value 'TEST',
    *  archiv_id like toav0-archiv_id,
    i_id TYPE STXBITMAPS-TDID VALUE 'BMAP',
    i_btype TYPE STXBITMAPS-TDBTYPE VALUE 'BCOL',
    l_bds_bytecnt TYPE i,
    FLENGTH TYPE SAPB-LENGTH,
    l_bds_content TYPE TABLE OF bapiconten,
    OUTDOC     LIKE     TOADT ,
    wa_l_bds_content TYPE  bapiconten.
    *DATA : BINARY TYPE STANDARD TABLE OF TBL1024,
    data : BINARY TYPE STANDARD TABLE OF TBL1024 WITH HEADER LINE,
    ARCHIVOBJECT type standard table of docs,
    archiv_doc_id like toav0-arc_doc_id,
    wa_binary type TBL1024.
    data:  lw_ar_object like toaom-ar_object,
          lw_object_id like sapb-sapobjid,
          lw_sap_object like toaom-sap_object,
          lw_doc_type like toadd-doc_type,
          lw_path like sapb-sappfad,"toav0-arc_doc_id
    *      archiv_doc_id like toav0-arc_doc_id,
          doc_type like toadt-doc_class.
    constants:  c_sap_object type toaom-sap_object value 'PREL',
                c_ar_object type toaom-ar_object value 'HRICOLFOTO',
                c_doc_type type toaom-doc_type value 'JPG'.
    PARAMETERS: filename(150) TYPE c OBLIGATORY.                               "Name of the File where source as  txt format
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR filename.
      PERFORM getfile.
    start-of-selection.
      filename1 = filename.
    key = '010001380002'.
      lw_ar_object = c_ar_object.
    *  lw_object_id = w_pernr_pass.
      lw_sap_object = c_sap_object.
      lw_doc_type = c_doc_type.
    *  lw_path = it_data-file_nam.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename = filename1
          filetype = 'BIN'
        TABLES
          data_tab = archivobject.
    * Object to be archived
          select single * from toaom where ar_object = c_ar_object and sap_object = c_sap_object.
          if sy-subrc <> 0.
            raise UPLOAD_ERROR.
          else.
    * Authority check with Archive id
            archiv_id = toaom-archiv_id.
            perform authority_check_create(oaall)
            using archiv_id object space ar_object space
            changing sy-subrc.
            if sy-subrc ne 0.
              raise UPLOAD_ERROR.
            else.
              if sy-subrc <> 0.
                raise UPLOAD_ERROR.
                clear toav0.
              else." Transfer key for archiving
                toav0-object_id = key.
                if key eq space.
                  Raise FUNCTION_ERROR.
                  clear toav0.
                else.
                  perform create_archive_object_new  .
                endif.
              endif.
            endif.
          endif.
    form create_archive_object_new .
    CALL FUNCTION 'ARCHIV_CREATE_TABLE'
        EXPORTING
          AR_OBJECT                      = lw_ar_object
    *   DEL_DATE                       =
          OBJECT_ID                      = '010001380002'
          SAP_OBJECT                     =  lw_sap_object
    *   FLENGTH                        = '2328'
       DOC_TYPE                       = lw_doc_type
    *   DOCUMENT                       =
    *   MANDT                          = SY-MANDT
    * IMPORTING
    *   OUTDOC                         =
       TABLES
       ARCHIVOBJECT                   =  ARCHIVOBJECT
    *     BINARCHIVOBJECT                = binary
    * EXCEPTIONS
    *   ERROR_ARCHIV                   = 1
    *   ERROR_COMMUNICATIONTABLE       = 2
    *   ERROR_CONNECTIONTABLE          = 3
    *   ERROR_KERNEL                   = 4
    *   ERROR_PARAMETER                = 5
    *   ERROR_USER_EXIT                = 6
    *   ERROR_MANDANT                  = 7
    *   OTHERS                         = 8
      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 'ARCHIVOBJECT_CREATE_TABLE'
        EXPORTING
          archiv_id                = archiv_id
          document_type            = lw_doc_type
    *      length                   = '2328'
        IMPORTING
          archiv_doc_id            = i_toav0-arc_doc_id
        TABLES
          archivobject             = archivobject
    *      binarchivobject          = BINARY
        EXCEPTIONS
          error_kernel             = 1
          error_communicationtable = 2
          error_archiv             = 3.
           move i_toav0 to toav0.
        toav0-sap_object = lw_sap_object.
        toav0-object_id = key.
        move archiv_id to toav0-archiv_id.
        move i_toav0-arc_doc_id to toav0-arc_doc_id.
        toav0-ar_object = lw_ar_object.
        move lw_doc_type to toav0-reserve.
        move lw_doc_type to doc_type.
        commit work.
      call function 'ARCHIV_CONNECTION_INSERT'
          exporting
            archiv_id                   = toav0-archiv_id
            arc_doc_id                  = toav0-arc_doc_id
            ar_date                     = ar_date
            ar_object                   = toav0-ar_object
    *     DEL_DATE                    = ' '
    *     MANDANT                     = ' '
            object_id                   = '010001380002'
            sap_object                  = toav0-sap_object
            doc_type                    = doc_type
    *        barcode                     = barcode
          exceptions
            error_connectiontable       = 1
            others                      = 2
    endform.
    FORM getfile .
      CALL FUNCTION 'WS_FILENAME_GET'
        EXPORTING
          def_filename     = ' '
          def_path         = '*.*'
          mask             = ''
          mode             = 'O'
          title            = ' SELECTING FILE FOR SOURCE PROGRAM'
        IMPORTING
          filename         = filename
        EXCEPTIONS
          selection_cancel = 3
          selection_error  = 4.

    Hi all,
    I know the Provision for Photo upload through OAAD Tcode, I know FM to upload the photos by giving path as input data. my requirement is I have picture in the form of binary data . i want to upload that into PA30. I have return the following code. No Error but image is not displayed in PA30.Can u Please correct me?
    tables: toav0, toaom, twfdb, toapa.
    data: key like ojint-key,
          object like ojint-name,
          object_id like toav0-object_id,
          archiv_id like toav0-archiv_id,
          arc_doc_id like toav0-arc_doc_id,
          ablagedatum like sapb-sapabldate,
          ar_date like toav0-ar_date,
          del_date like toav0-del_date,
          sap_object like toaom-sap_object,
          ar_object like toaom-ar_object,
          expiry_tim like toaom-expiry_tim,
          method like ojint-method,
          return like ojint-return,
          parameter like ojint-parameter.
    data:begin of i_toav0 occurs 1.
            include structure toav0.
    data: end of i_toav0.
    data: begin of i_toaom occurs 1.
            include structure toaom.
    data: end of i_toaom.
    data: begin of fields occurs 1.
            include structure ojfields.
    data: end of fields.
    DATA:     filename1  TYPE string.
    Data: i_name TYPE STXBITMAPS-TDNAME value 'TEST',
    *  archiv_id like toav0-archiv_id,
    i_id TYPE STXBITMAPS-TDID VALUE 'BMAP',
    i_btype TYPE STXBITMAPS-TDBTYPE VALUE 'BCOL',
    l_bds_bytecnt TYPE i,
    FLENGTH TYPE SAPB-LENGTH,
    l_bds_content TYPE TABLE OF bapiconten,
    OUTDOC     LIKE     TOADT ,
    wa_l_bds_content TYPE  bapiconten.
    *DATA : BINARY TYPE STANDARD TABLE OF TBL1024,
    data : BINARY TYPE STANDARD TABLE OF TBL1024 WITH HEADER LINE,
    ARCHIVOBJECT type standard table of docs,
    archiv_doc_id like toav0-arc_doc_id,
    wa_binary type TBL1024.
    data:  lw_ar_object like toaom-ar_object,
          lw_object_id like sapb-sapobjid,
          lw_sap_object like toaom-sap_object,
          lw_doc_type like toadd-doc_type,
          lw_path like sapb-sappfad,"toav0-arc_doc_id
    *      archiv_doc_id like toav0-arc_doc_id,
          doc_type like toadt-doc_class.
    constants:  c_sap_object type toaom-sap_object value 'PREL',
                c_ar_object type toaom-ar_object value 'HRICOLFOTO',
                c_doc_type type toaom-doc_type value 'JPG'.
    PARAMETERS: filename(150) TYPE c OBLIGATORY.                               "Name of the File where source as  txt format
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR filename.
      PERFORM getfile.
    start-of-selection.
      filename1 = filename.
    key = '010001380002'.
      lw_ar_object = c_ar_object.
    *  lw_object_id = w_pernr_pass.
      lw_sap_object = c_sap_object.
      lw_doc_type = c_doc_type.
    *  lw_path = it_data-file_nam.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename = filename1
          filetype = 'BIN'
        TABLES
          data_tab = archivobject.
    * Object to be archived
          select single * from toaom where ar_object = c_ar_object and sap_object = c_sap_object.
          if sy-subrc <> 0.
            raise UPLOAD_ERROR.
          else.
    * Authority check with Archive id
            archiv_id = toaom-archiv_id.
            perform authority_check_create(oaall)
            using archiv_id object space ar_object space
            changing sy-subrc.
            if sy-subrc ne 0.
              raise UPLOAD_ERROR.
            else.
              if sy-subrc <> 0.
                raise UPLOAD_ERROR.
                clear toav0.
              else." Transfer key for archiving
                toav0-object_id = key.
                if key eq space.
                  Raise FUNCTION_ERROR.
                  clear toav0.
                else.
                  perform create_archive_object_new  .
                endif.
              endif.
            endif.
          endif.
    form create_archive_object_new .
    CALL FUNCTION 'ARCHIV_CREATE_TABLE'
        EXPORTING
          AR_OBJECT                      = lw_ar_object
    *   DEL_DATE                       =
          OBJECT_ID                      = '010001380002'
          SAP_OBJECT                     =  lw_sap_object
    *   FLENGTH                        = '2328'
       DOC_TYPE                       = lw_doc_type
    *   DOCUMENT                       =
    *   MANDT                          = SY-MANDT
    * IMPORTING
    *   OUTDOC                         =
       TABLES
       ARCHIVOBJECT                   =  ARCHIVOBJECT
    *     BINARCHIVOBJECT                = binary
    * EXCEPTIONS
    *   ERROR_ARCHIV                   = 1
    *   ERROR_COMMUNICATIONTABLE       = 2
    *   ERROR_CONNECTIONTABLE          = 3
    *   ERROR_KERNEL                   = 4
    *   ERROR_PARAMETER                = 5
    *   ERROR_USER_EXIT                = 6
    *   ERROR_MANDANT                  = 7
    *   OTHERS                         = 8
      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 'ARCHIVOBJECT_CREATE_TABLE'
        EXPORTING
          archiv_id                = archiv_id
          document_type            = lw_doc_type
    *      length                   = '2328'
        IMPORTING
          archiv_doc_id            = i_toav0-arc_doc_id
        TABLES
          archivobject             = archivobject
    *      binarchivobject          = BINARY
        EXCEPTIONS
          error_kernel             = 1
          error_communicationtable = 2
          error_archiv             = 3.
           move i_toav0 to toav0.
        toav0-sap_object = lw_sap_object.
        toav0-object_id = key.
        move archiv_id to toav0-archiv_id.
        move i_toav0-arc_doc_id to toav0-arc_doc_id.
        toav0-ar_object = lw_ar_object.
        move lw_doc_type to toav0-reserve.
        move lw_doc_type to doc_type.
        commit work.
      call function 'ARCHIV_CONNECTION_INSERT'
          exporting
            archiv_id                   = toav0-archiv_id
            arc_doc_id                  = toav0-arc_doc_id
            ar_date                     = ar_date
            ar_object                   = toav0-ar_object
    *     DEL_DATE                    = ' '
    *     MANDANT                     = ' '
            object_id                   = '010001380002'
            sap_object                  = toav0-sap_object
            doc_type                    = doc_type
    *        barcode                     = barcode
          exceptions
            error_connectiontable       = 1
            others                      = 2
    endform.
    FORM getfile .
      CALL FUNCTION 'WS_FILENAME_GET'
        EXPORTING
          def_filename     = ' '
          def_path         = '*.*'
          mask             = ''
          mode             = 'O'
          title            = ' SELECTING FILE FOR SOURCE PROGRAM'
        IMPORTING
          filename         = filename
        EXCEPTIONS
          selection_cancel = 3
          selection_error  = 4.

  • Encoding problem while reading binary data from MQ-series

    Dear all,
    we are running on 7.0 and we have an encoding problem while reading binary data from MQ-series. Because we are getting flat strings from queue we use module "Plain2ML" (MessageTransformBean) for wrapping xml-elements around the incoming data.
    The MQ-Series-Server is using CCSID 850, which we configured in connection parameters in communication channel (both parameters for Queuemanager CCSID and also CCSID of target).If there are special characters in the message (which HEX-values differ from codepage to codepage) we get errors in our adapter while executing, please see stack-trace for further analysis below.
    It seems to us that
    1. method ByteToCharUTF8.convert() expects UTF-8 in binary data
    2. Both CCSID parameters are not used anyway in JMS-adapter
    How can we solve this problem without changing anything on MQ-site?
    Here is the stack-trace:
    Catching com.sap.aii.af.mp.module.ModuleException: Transform: failed to execute the transformation: com.sap.aii.messaging.adapter.trans.TransformException: Error converting Message: 'sun.io.MalformedInputException'; nested exception caused by: sun.io.MalformedInputException caused by: com.sap.aii.messaging.adapter.trans.TransformException: Error converting Message: 'sun.io.MalformedInputException'; nested exception caused by: sun.io.MalformedInputException
        at com.sap.aii.af.modules.trans.MessageTransformBean.throwModuleException(MessageTransformBean.java:453)
        at com.sap.aii.af.modules.trans.MessageTransformBean.process(MessageTransformBean.java:387)
        at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl0_0.process(ModuleLocalLocalObjectImpl0_0.java:103)
        at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:292)
        at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0_0.process(ModuleProcessorLocalLocalObjectImpl0_0.java:103)
        at com.sap.aii.adapter.jms.core.channel.filter.SendToModuleProcessorFilter.filter(SendToModuleProcessorFilter.java:84)
        at com.sap.aii.adapter.jms.core.channel.filter.MessageFilterContextImpl.callNext(MessageFilterContextImpl.java:195)
        at com.sap.aii.adapter.jms.core.channel.filter.ConvertBinaryToXiMessageFilter.filter(ConvertBinaryToXiMessageFilter.java:304)
        at com.sap.aii.adapter.jms.core.channel.filter.MessageFilterContextImpl.callNext(MessageFilterContextImpl.java:195)
        at com.sap.aii.adapter.jms.core.channel.filter.ConvertJmsMessageToBinaryFilter.filter(ConvertJmsMessageToBinaryFilter.java:112)
        at com.sap.aii.adapter.jms.core.channel.filter.MessageFilterContextImpl.callNext(MessageFilterContextImpl.java:195)
        at com.sap.aii.adapter.jms.core.channel.filter.InboundDuplicateCheckFilter.filter(InboundDuplicateCheckFilter.java:87)
        at com.sap.aii.adapter.jms.core.channel.filter.MessageFilterContextImpl.callNext(MessageFilterContextImpl.java:195)
        at com.sap.aii.adapter.jms.core.channel.filter.TxManagerFilter.filterSend(TxManagerFilter.java:123)
        at com.sap.aii.adapter.jms.core.channel.filter.TxManagerFilter.filter(TxManagerFilter.java:59)
        at com.sap.aii.adapter.jms.core.channel.filter.MessageFilterContextImpl.callNext(MessageFilterContextImpl.java:195)
        at com.sap.aii.adapter.jms.core.channel.filter.DynamicConfigurationFilter.filter(DynamicConfigurationFilter.java:72)
        at com.sap.aii.adapter.jms.core.channel.filter.MessageFilterContextImpl.callNext(MessageFilterContextImpl.java:195)
        at com.sap.aii.adapter.jms.core.channel.filter.PmiAgentFilter.filter(PmiAgentFilter.java:66)
        at com.sap.aii.adapter.jms.core.channel.filter.MessageFilterContextImpl.callNext(MessageFilterContextImpl.java:195)
        at com.sap.aii.adapter.jms.core.channel.filter.InboundCorrelationFilter.filter(InboundCorrelationFilter.java:60)
        at com.sap.aii.adapter.jms.core.channel.filter.MessageFilterContextImpl.callNext(MessageFilterContextImpl.java:195)
        at com.sap.aii.adapter.jms.core.channel.filter.JmsHeadersProfileFilter.filter(JmsHeadersProfileFilter.java:59)
        at com.sap.aii.adapter.jms.core.channel.filter.MessageFilterContextImpl.callNext(MessageFilterContextImpl.java:195)
        at com.sap.aii.adapter.jms.core.channel.filter.MessageInvocationsFilter.filter(MessageInvocationsFilter.java:89)
        at com.sap.aii.adapter.jms.core.channel.filter.MessageFilterContextImpl.callNext(MessageFilterContextImpl.java:195)
        at com.sap.aii.adapter.jms.core.channel.filter.JarmMonitorFilter.filter(JarmMonitorFilter.java:57)
        at com.sap.aii.adapter.jms.core.channel.filter.MessageFilterContextImpl.callNext(MessageFilterContextImpl.java:195)
        at com.sap.aii.adapter.jms.core.channel.filter.ThreadNamingFilter.filter(ThreadNamingFilter.java:62)
        at com.sap.aii.adapter.jms.core.channel.filter.MessageFilterContextImpl.callNext(MessageFilterContextImpl.java:195)
        at com.sap.aii.adapter.jms.core.channel.SenderChannelImpl.doReceive(SenderChannelImpl.java:263)
        at com.sap.aii.adapter.jms.core.channel.ChannelImpl.receive(ChannelImpl.java:437)
        at com.sap.aii.adapter.jms.core.connector.MessageListenerImpl.onMessage(MessageListenerImpl.java:36)
        at com.ibm.mq.jms.MQMessageConsumer$FacadeMessageListener.onMessage(MQMessageConsumer.java:399)
        at com.ibm.msg.client.jms.internal.JmsMessageConsumerImpl$JmsProviderMessageListener.onMessage(JmsMessageConsumerImpl.java:904)
        at com.ibm.msg.client.wmq.v6.jms.internal.MQMessageConsumer.receiveAsync(MQMessageConsumer.java:4249)
        at com.ibm.msg.client.wmq.v6.jms.internal.SessionAsyncHelper.run(SessionAsyncHelper.java:537)
        at java.lang.Thread.run(Thread.java:770)
    Caused by: com.sap.aii.messaging.adapter.trans.TransformException: Error converting Message: 'sun.io.MalformedInputException'; nested exception caused by: sun.io.MalformedInputException
        at com.sap.aii.messaging.adapter.Conversion.service(Conversion.java:714)
        at com.sap.aii.af.modules.trans.MessageTransformBean.processTransform(MessageTransformBean.java:538)
        at com.sap.aii.af.modules.trans.MessageTransformBean.processTransform(MessageTransformBean.java:528)
        at com.sap.aii.af.modules.trans.MessageTransformBean.processTransform(MessageTransformBean.java:471)
        at com.sap.aii.af.modules.trans.MessageTransformBean.process(MessageTransformBean.java:364)
        ... 36 more
    Caused by: sun.io.MalformedInputException
        at sun.io.ByteToCharUTF8.convert(ByteToCharUTF8.java:270)
        at sun.nio.cs.StreamDecoder$ConverterSD.convertInto(StreamDecoder.java:287)
        at sun.nio.cs.StreamDecoder$ConverterSD.implRead(StreamDecoder.java:337)
        at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:223)
        at java.io.InputStreamReader.read(InputStreamReader.java:208)
        at java.io.BufferedReader.fill(BufferedReader.java:153)
        at java.io.BufferedReader.readLine(BufferedReader.java:316)
        at java.io.LineNumberReader.readLine(LineNumberReader.java:176)
        at com.sap.aii.messaging.adapter.Conversion.convertPlain2XML(Conversion.java:310)
        at com.sap.aii.messaging.adapter.Conversion.service(Conversion.java:709)
        ... 40 more
    Any ideas?
    Kind regards, Stefan

    Hi Stefan,
    for the first MTB now we are using only one parameter: Transform.ContentType = text/plain;charset="ISO-8859-1"
    The second MTB, which does the XML-Wrapping, is configured like this:
    Transform.Class = com.sap.aii.messaging.adapter.Conversion
    Transform.ContentType = application/xml
    xml.conversionType = SimplePlain2XML
    xml.fieldNames = value
    xml.fieldSeparator = §%zulu§%
    xml.processFieldNames = fromConfiguration
    xml.structureTitle = payload
    Both CCSID configuration parameters from the "Source"-Tab we've set to 850.
    Now, we don't get an error anymore - sun.io.malformedInputException - , but, unfortunately, now special character conversion succeeded (we need an "ß" and we get an ISO-HEX-E1 -> á).  E1 is (different from ISO) an "ß" in 850.
    Any ideas?

  • Binary data problem with web services on JRockit but not Sun JDK

    I have a problem with binary data in SOAP and JRockit
    (jrrt-3.0.0-1.6.0-linux-x64.bin) . I have an set of web services based
    on EJB 3.0 which return images as byte arrays inside a SOAP envelope
    to be consumed by .NET 2 services. The host app server is Oracle
    Application Server 10.3.1 on RHEL Linux update 4, on 64 bit Xeon 5500
    series HP blade hardware.
    While most images are fine most of the time, one particular image
    gives this message when being consumed in the .NET client:
    The '■' character, hexadecimal value 0x1F, cannot be included in a
    name. Line 2, position 380038.
    The MSDN suggests that this is usually caused by non-escaping of reserved XML characters like < but this isn't one of those.
    The SOAP looks ok and for the life of me I can't see why this ought to
    be a problem, especially since the problem doesn't arise running with
    the SUN JDK 1.6_06 64 bit)
    When making the same call from the OAS Enterprise Manager, I can make the same call with no problem (but the data is just rendered as character data in a browser) which maybe suggests some incompatibility with how JRockit is serializing the data ?
    Any ideas, I would be very happy to hear - JRockit gives a 15% or so
    speed boost to the website that these services power so obviously we
    want to use it if possible.
    Edited by: RichLiv on Nov 14, 2008 4:54 AM

    Seems to be the case that using MTOM stops this problem with JRockit. Strange but apparently true (so far).

Maybe you are looking for

  • Can no longer see my I-photo photos, when trying to insert photo into Word Document.

    I had some computer problems and did upgrade to Snow Leopard from Leopard. Using older MacBook Pro.  Now, when I try to insert a picture into a Word Document, I cannot see my photos! I am working in a word document, I choose "Insert Photo from my fil

  • N97 proximity sensor problems

    Hi. My proximity sensors on n97 don't work as they should be. Very often they tend to freeze the screen (not allowing me to hang up or do any further actions once within a call). The screen simply stays black. Does anyone have similar problems and ho

  • Sockets and operating System

    Are sockets really Operating System independant? Or Is Java portable enough to not take into consideration the underlying implementation of sockets of the running Operating System? Thank you for your answers,

  • Performance: JDBC vs. Native Oracle

    Which type of connection should one use? Are there any performance advantages one over the other? Or does anyone know where I can get this type of information?

  • Bluetooth drivers detection problem?

    I cant seem to connect my 5800 to my new laptop (msi GX660r), it is showing an error that it cannot use the connection type and to make sure i have the proper hardware/software when it is looking for devices. now i know that the bluetooth works, as i