XMLTYPE vs normal data type

Hi,
what is the difference between OF XMLTYPE and normal data type.
I am asked to find the features of xml(load the data from xml to oracle and oracle to xml) in normal data type.

XMLType is simply another storage option for data, with a certain set of restrictions. Similar in concept to DATE or NUMBER.
There are different underlying storage options for XMLType, dependent upon which version of Oracle you are on. You can read up about XMLType via this post {thread:id=1035284}

Similar Messages

  • The difference between FIELD-SYMBOL and normal DATA TYPE

    Dear experts,
    Please see the example below, both are output the same result.
    DATA: EXTERNAL_RECORD(4000),
          POSITION TYPE I,
          LENGTH TYPE N,
          ENTRY TYPE STRING.
    EXTERNAL_RECORD = '0005Smith0007Edwards0005Young'.
    DO.
      LENGTH = EXTERNAL_RECORD+POSITION(4).
      IF LENGTH = 0.
        EXIT.
      ENDIF.
      ADD 4 TO POSITION.
      MOVE EXTERNAL_RECORD+POSITION(LENGTH) TO ENTRY.
      WRITE ENTRY.
      ADD LENGTH TO POSITION.
      IF POSITION >= 4000.
        EXIT.
      ENDIF.
    ENDDO.
    --OR It can be written as--
    DATA: EXTERNAL_RECORD(4000),
          POSITION TYPE I,
          LENGTH TYPE N.
    FIELD-SYMBOLS <ENTRY>.
    EXTERNAL_RECORD = '0005Smith0007Edwards0005Young'.
    DO.
      LENGTH = EXTERNAL_RECORD+POSITION(4).
      IF LENGTH = 0.
        EXIT.
      ENDIF.
      ADD 4 TO POSITION.
      ASSIGN EXTERNAL_RECORD+POSITION(LENGTH) TO <ENTRY>.
      WRITE <ENTRY>.
      ADD LENGTH TO POSITION.
      IF POSITION >= 4000.
        EXIT.
      ENDIF.
    ENDDO.
    Is there any special circumstances we need to use FIELD-SYMBOL?
    Why is FIELD-SYMBOL is introduce in the first place?
    Kindly advice with example.
    Thanks in advance for those who can help me on this.

    HI,
    You can use field symbols to make the program more dynamic. In this example the name of a table control is substituted by a field symbol. Thus you cal call the form with any internal table, using the name of the table control as a parameter.
    Example
    form insert_row
    using p_tc_name.
    field-symbols <tc> type cxtab_control. "Table control
    assign (p_tc_name) to <tc>.
    insert 100 lines in table control
    <tc>-lines = 100.
    Field symbols allow you to:
    **     Assign an alias to a data object(for example, a shortened
            name for data objects structured through several hierarchies
            - <fs>-f instead of rec1-rec2-rec3-f)
    **     Set the offset and length for a string variably at runtime
    **     Set a pointer to a data object that you determine at runtime (dynamic ASSIGN)
    **     Adopt or change the type of a field dynamically at runtime
    **     Access components of a structure
    **     (from Release 4.5A) Point to lines of an internal table
            (process internal tables without a separate work area)
    Field symbols in ABAP are similar to pointers in other programming
    languages. However, pointers (as used in PASCAL or C) differ from ABAP
    field symbols in their reference syntax.
    The statement ASSIGN f to <fs> assigns the field f to field
    symbol <fs>. The field symbol <fs> then "points" to the
    contents of field f at runtime. This means that all changes to the
    contents of f are visible in <fs> and vice versa. You declare
    the field symbol <fs> using the statement FIELD-SYMBOLS: <fs>.
    Reference syntax
    Programming languages such as PASCAL and C use a dereferencing symbol
    to indicate the difference between a reference and the object to which
    it refers; so PASCAL would use p^ for a pointer instead of p, C would
    use *p instead of p. ABAP does not have any such dereferencing symbol.
    **     In PASCAL or C, if you assign a pointer p1 to a pointer p2,
    you force p1 to point to the object to which p2 refers (reference semantics).
    **     In ABAP, if you assign a field symbol <fs1> to a field
    symbol <fs2>, <fs1> takes the value of the data object to
    which <fs2> refers (value semantics).
    **     Field symbols in ABAP are always dereferenced, that is,
    they always access the referenced data object. If you want to
    change the reference yourself in ABAP, you can use the ASSIGN statement
    to assign field symbol <fs1> to field symbol <fs2>.
    Using field symbols
    You declare field symbols using the FIELD-SYMBOLS statement.
    They may be declared either with or without a specific type.
    At runtime you assign a field to the field symbol using the ASSIGN
    statement. All of the operations on the field symbol act on the field
    assigned to it.
    When you assign a field to an untyped field symbol, the field symbol
    adopts the type of the field. If, on the other hand, you want to assign
    a field to a typed field symbol, the type of the field and that of the
    field symbol must be compatible.
    A field symbol can point to any data object and from Release 4.5A,
    they can also point to lines of internal tables.
    The brackets (<>) are part of the syntax.
    Use the expression <fs> IS ASSIGNED to find out whether the field
    symbol <fs> is assigned to a field.
    The statement UNASSIGN <fs> sets the field symbol <fs> so
    that it points to nothing. The logical expression <fs>
    IS ASSIGNED is then false. The corresponding negative expression
    is IF NOT <fs> IS ASSIGNED.
    An unassigned field symbol <fs> behaves as a constant with
    type C(1) and initial value SPACE.
    MOVE <fs>
    TO dest     Transfers the initial value SPACE to the variable dest
    MOVE 'A' to <fs>     
    Not possible, since <fs> is a constant
    (runtime error).
    To lift a type restriction, use the CASTING addition in the
    ASSIGN statement. The data object is then interpreted as though
    it had the data type of the field symbol. You can also do this
    with untyped field symbols using the CASTING TYPE <type> addition.
    The danger with pointers is that they may point to invalid areas.
    This danger is not so acute in ABAP, because the language does not
    use address arithmetic (for example, in other languages, pointer p
    might point to address 1024. After the statement p = p + 10, it would
    point to the address 1034). However, the danger does still exist, and
    memory protection violations lead to runtime errors.
    A pointer in ABAP may not point beyond a segment boundary. ABAP does
    not have one large address space, but rather a set of segments.
    Each of the following has its own segment:
    *     All global data
    *     All local data
    *     Each table work area (TABLES)
    *     Each COMMON PART
    You should only let field symbols move within an elementary field or
    structure where ABAP allows you to assign both within the global data
    and beyond a field boundary.
    Rgds
    Umakanth

  • JDBC insert with XMLTYPE data type

    Hi,
    SOAP to JDBC scenario. Oracle 11G as a receiver.
    Requirement is to  insert whole xml payload message in one of Oracle table fields as a xml string. Target oracle DB table column is defined with XMLTYPE data type, it has capacity to hold xml data more than 4GB. I am using graphical mapping with direct INSERT statement.
    When I try to insert xml payload with smaller size transaction goes through. However when the xml payload size increases it is giving following error in JDBC receiver communication channel monitoring.
    Could not execute statement for table/stored proc. "TABLE_NAME" (structure "StructName") due to java.sql.SQLException: ORA-01704: string literal too long
    Here is insert statement as in communication channel monitoring. (Note: XML payload with bold characters is truncated)
    INSERT INTO  TABLE_NAME (REQ_ID, OUTAGE_OBJ, TIMESTAMP, PROCESSED_FLAG) VALUES (VAL1, <?xml version="1.0" encoding="UTF-8"?>............</>, TO_DATE(2010-11-15 10:21:52,YYYY-MM-DD HH24:MI:SS), N)
    Any suggestions to handle this requirement?
    Thank you in advance.
    Anand More.

    Hi Anand,
    The problem here is definitely the length of the SQL query. i.e "INSERT INTO ......... VALUES......."
    This is what i got when i searched for this ORACLE error code:
    ORA-01704: string literal too long
    Cause: The string literal is longer than 4000 characters.
    Action: Use a string literal of at most 4000 characters. Longer values may only be entered using bind variables.
    Please ask a ORACLE DB expert on how to handle this Also i am not sure how can we handle Bind Varibales in SAP PI.
    I hope this helps.
    Regards, Gaurav.

  • ODI 10g Load table havfing XMLTYPE as one of the data type

    I'm trying load data from source to target(Both Oracle) same table. The table has XMLTYPE as one of the data type. I can load the data, if I exclude that one particular column.
    Is there any way to load the data from that XMLTYPE column as well? Please provide your input.
    Source and traget has the same table structure.
    Version: ODI 10G
    below is the sample table structure.
    CREATE TABLE APPLICATION
    APPLID VARCHAR2(20 BYTE) NOT NULL,
    JOBTYPE VARCHAR2(20 BYTE),
    USRID VARCHAR2(20 BYTE) NOT NULL,
    APPDOC      SYS.XMLTYPE,
    APPLSTATUS VARCHAR2(30 BYTE),
    APPLDATE DATE
    Thanks

    Hi Pankaj,
    Remember that 1 character is not equal to 1 byte anymore while numbers/hexadecimals are still.
    So, if you have structures that are a mixture of characters and integers/hexadecimals etc, you can not move data from structure to structure as easily as before.
    In code you mentioned:
    LOOP AT L_TAB INTO L_REC.
    APPEND L_REC TO LIST_TAB.
    ENDLOOP.
    Avoid moving directly from L_REC to LIST_TAB. You can try to define a work area (WA_TAB) for LIST_TAB and use a MOVE-CORRESPONDING from L_REC to the WA_TAB. Then append WA_TAB.
    If the field names from L_REC do not match the field names in LIST_TAB, you can manually move each field value to the correct field in the work area.
    Reward points if this solves your issue

  • In Debugging how can we  view the normal data instead of  Hexadecimal data

    While i am debugging if i am checked  internal table structure fields. Hexa decmial data is coming up. how can we check normal data.

    If u r using Standard Debugger (Old Debugger) U will have a icon with + or - (search button type) beside ur fields. Click that. If that is in + mode u will see ur actual data, if it is in - u will see Hexa data.
    awrd points if helpful
    Bhupal

  • How to display images in BI Publisher from a LONG data type

    We are storing images in Oracle Database as LONG data type. When I am giving query in BI Publisher and view the XML generated, I am getting the following error.
    name was started with an invalid character. Error processing resource 'http://.......
    <X_SIGNATURE>"N!0$$$$$$$#B!0$$$"X$$$$!3$$$!2$$#a$$$!1$!1$$$$$d$$$$#7$"X!0$"}@E$e"1"XM">K#@!P!P!Ga}!1!@!P!C#C"O!>...
    Can anyone suggest the solution?

    Hi
    my problem is, for each job_id there is many users. Oh that's something completlty different...
    I Strongly Recommand to_
    1.*create 2 tables Jobs & users*
    2.*create a relation between them* 1 to many to get for each job more than a user that's the way that Must be -- execuse me the bad design of the db pulled u into this trap -
    3.then u can deal with it normally no need to a sample code but just a form with Jobs as  (Master) and Users as (detail) with a relation and with a simple query u can display each job_id is for many users.
    no null values no commas r needed.
    Hope this helps...
    Regards,
    Amatu Allah.

  • Using a BLOB data type in a CMP Entity Bean: Error when send large files

    I've successfully impleenting BLOB in my EJB. But the main prob is, it can only work on small file which is around 3K. Any larger files than that will caused error (refer below). I got info from a friend which is using normal JDBC call to insert a file into BLOB column that you can't use java.sql.Blob data type which will have this limitation. He suggested that by using oracle.sql.BLOB, this prob won't exist.
    The problem is I'm unable to use oracle.sql.BLOB in my CMP EJB because in the jbosscmp-jdbc.xml, I'm able to specify the normal BLOB only which is java.sql.Blob (Refer below).
             <cmp-field>
                <field-name>attachment</field-name>
                <column-name>attch</column-name>
                <jdbc-type>BLOB</jdbc-type>
                <sql-type>BLOB</sql-type>
            </cmp-field>So, how do I solve this problem? I need to store files which the size is much bigger than that. I'm using JBoss 4 as my app server and Oracle 9i as my DB. I can see that there's many ppl facing this prob, but no solution to it. Pls advise. Thanks.
    20:03:34,218 INFO [Server] JBoss (MX MicroKernel) [4.0.1RC1 (build: CVSTag=JBoss_4_0_1_RC1 date=200411041143)] Started in 1m:49s:828ms
    20:05:01,640 ERROR [EBCreditApplAttch] Could not create entity
    java.sql.SQLException: No more data to read from socket
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:187)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:229)
         at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:982)
         at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:746)
         at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:705)
         at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:373)
         at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1477)
         at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:888)
         at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2051)
         at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1961)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2672)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:452)
         at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:316)
         at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.executeInsert(JDBCAbstractCreateCommand.java:328)
         at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.performInsert(JDBCAbstractCreateCommand.java:286)
         at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.execute(JDBCAbstractCreateCommand.java:137)
         at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.createEntity(JDBCStoreManager.java:572)
         at org.jboss.ejb.plugins.CMPPersistenceManager.createEntity(CMPPersistenceManager.java:222)
         at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.createEntity(CachedConnectionInterceptor.java:266)
         at org.jboss.ejb.EntityContainer.createLocalHome(EntityContainer.java:612)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
         at org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:1113)
         at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:90)
         at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:192)
         at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterceptor.java:212)
         at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:90)
         at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:113)
         at org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:61)
         at org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:28)
         at org.jboss.ejb.plugins.CallValidationInterceptor.invokeHome(CallValidationInterceptor.java:41)
         at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:109)
         at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:313)
         at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:126)
         at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:100)
         at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:120)
         at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:93)
         at org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContainer.java:508)
         at org.jboss.ejb.Container.invoke(Container.java:878)
         at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLocalProxyFactory.java:342)
         at org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java:118)
         at $Proxy94.create(Unknown Source)
         at com.infopro.dt.app.ca.ejb.SBCreditApplAttch.setCreditApplAttch(SBCreditApplAttch.java:148)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
         at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:214)
         at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
         at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:113)
         at org.jboss.webservice.server.ServiceEndpointInterceptor.invoke(ServiceEndpointInterceptor.java:51)
         at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
         at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:105)
         at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:313)
         at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:146)
         at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:122)
         at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
         at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
         at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
         at org.jboss.ejb.Container.invoke(Container.java:856)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:144)
         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
         at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
         at org.jboss.invocation.jrmp.server.JRMPInvoker$MBeanServerAction.invoke(JRMPInvoker.java:805)
         at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:406)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
         at sun.rmi.transport.Transport$1.run(Transport.java:148)
         at java.security.AccessController.doPrivileged(Native Method)
         at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
         at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
         at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
         at java.lang.Thread.run(Thread.java:534)
    20:05:01,656 ERROR [JDBCUtil] SQL error
    java.sql.SQLException: No more data to read from socket
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:187)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:229)
         at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:982)
         at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:746)
         at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:705)
         at oracle.jdbc.ttc7.Oclose.receive(Oclose.java:105)
         at oracle.jdbc.ttc7.TTC7Protocol.close(TTC7Protocol.java:565)
         at oracle.jdbc.driver.OracleStatement.close(OracleStatement.java:824)
         at oracle.jdbc.driver.OraclePreparedStatement.privateClose(OraclePreparedStatement.java:346)
         at oracle.jdbc.driver.OraclePreparedStatement.close(OraclePreparedStatement.java:280)
         at org.jboss.resource.adapter.jdbc.WrappedStatement.internalClose(WrappedStatement.java:782)
         at org.jboss.resource.adapter.jdbc.WrappedStatement.close(WrappedStatement.java:52)
         at org.jboss.ejb.plugins.cmp.jdbc.JDBCUtil.safeClose(JDBCUtil.java:92)
         at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.performInsert(JDBCAbstractCreateCommand.java:310)
         at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.execute(JDBCAbstractCreateCommand.java:137)
         at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.createEntity(JDBCStoreManager.java:572)
         at org.jboss.ejb.plugins.CMPPersistenceManager.createEntity(CMPPersistenceManager.java:222)
         at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.createEntity(CachedConnectionInterceptor.java:266)
         at org.jboss.ejb.EntityContainer.createLocalHome(EntityContainer.java:612)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
         at org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:1113)
         at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:90)
         at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:192)
         at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterceptor.java:212)
         at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:90)
         at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:113)
         at org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:61)
         at org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:28)
         at org.jboss.ejb.plugins.CallValidationInterceptor.invokeHome(CallValidationInterceptor.java:41)
         at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:109)
         at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:313)
         at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:126)
         at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:100)
         at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:120)
         at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:93)
         at org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContainer.java:508)
         at org.jboss.ejb.Container.invoke(Container.java:878)
         at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLocalProxyFactory.java:342)
         at org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java:118)
         at $Proxy94.create(Unknown Source)
         at com.infopro.dt.app.ca.ejb.SBCreditApplAttch.setCreditApplAttch(SBCreditApplAttch.java:148)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
         at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:214)
         at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
         at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:113)
         at org.jboss.webservice.server.ServiceEndpointInterceptor.invoke(ServiceEndpointInterceptor.java:51)
         at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
         at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:105)
         at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:313)
         at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:146)
         at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:122)
         at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
         at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
         at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
         at org.jboss.ejb.Container.invoke(Container.java:856)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:144)
         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
         at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
         at org.jboss.invocation.jrmp.server.JRMPInvoker$MBeanServerAction.invoke(JRMPInvoker.java:805)
         at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:406)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
         at sun.rmi.transport.Transport$1.run(Transport.java:148)
         at java.security.AccessController.doPrivileged(Native Method)
         at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
         at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
         at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
         at java.lang.Thread.run(Thread.java:534)
    20:05:01,672 WARN [JBossManagedConnectionPool] Exception destroying ManagedConnection org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener@87b71b[state=DESTROYED mc=org.jboss.resource.adapter.jdbc.local.LocalManagedConnection@225f0 handles=0 lastUse=1110456252484 permit=false trackByTx=false mcp=org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool@108bef4 context=org.jboss.resource.connectionmanager.InternalManagedConnectionPool@1309516]
    org.jboss.resource.JBossResourceException: SQLException; - nested throwable: (java.sql.SQLException: Io exception: Software caused connection abort: socket write error)
         at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.checkException(BaseWrapperManagedConnection.java:541)
         at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.destroy(BaseWrapperManagedConnection.java:255)
         at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.doDestroy(InternalManagedConnectionPool.java:539)
         at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.returnConnection(InternalManagedConnectionPool.java:329)
         at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.returnConnection(JBossManagedConnectionPool.java:552)
         at org.jboss.resource.connectionmanager.BaseConnectionManager2.returnManagedConnection(BaseConnectionManager2.java:407)
         at org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource.commit(TxConnectionManager.java:699)
         at org.jboss.tm.TransactionImpl$Resource.commit(TransactionImpl.java:2141)
         at org.jboss.tm.TransactionImpl.commitResources(TransactionImpl.java:1674)
         at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:312)
         at org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:454)
         at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:322)
         at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:146)
         at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:122)
         at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
         at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
         at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
         at org.jboss.ejb.Container.invoke(Container.java:856)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:144)
         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
         at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
         at org.jboss.invocation.jrmp.server.JRMPInvoker$MBeanServerAction.invoke(JRMPInvoker.java:805)
         at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:406)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
         at sun.rmi.transport.Transport$1.run(Transport.java:148)
         at java.security.AccessController.doPrivileged(Native Method)
         at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
         at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
         at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
         at java.lang.Thread.run(Thread.java:534)
    Caused by: java.sql.SQLException: Io exception: Software caused connection abort: socket write error
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:187)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:229)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:342)
         at oracle.jdbc.driver.OracleConnection.close(OracleConnection.java:1438)
         at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.destroy(BaseWrapperManagedConnection.java:251)
         ... 38 more
    20:05:01,687 WARN [TransactionImpl] XAException: tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=waikitteoh/17, BranchQual=, localId=17] errorCode=XA_UNKNOWN(0)
    org.jboss.resource.connectionmanager.JBossLocalXAException: could not commit local tx; - nested throwable: (org.jboss.resource.JBossResourceException: SQLException; - nested throwable: (java.sql.SQLException: Io exception: Software caused connection abort: socket write error))
         at org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource.commit(TxConnectionManager.java:702)
         at org.jboss.tm.TransactionImpl$Resource.commit(TransactionImpl.java:2141)
         at org.jboss.tm.TransactionImpl.commitResources(TransactionImpl.java:1674)
         at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:312)
         at org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:454)
         at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:322)
         at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:146)
         at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:122)
         at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
         at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
         at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
         at org.jboss.ejb.Container.invoke(Container.java:856)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:144)
         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
         at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
         at org.jboss.invocation.jrmp.server.JRMPInvoker$MBeanServerAction.invoke(JRMPInvoker.java:805)
         at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:406)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
         at sun.rmi.transport.Transport$1.run(Transport.java:148)
         at java.security.AccessController.doPrivileged(Native Method)
         at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
         at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
         at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
         at java.lang.Thread.run(Thread.java:534)
    Caused by: org.jboss.resource.JBossResourceException: SQLException; - nested throwable: (java.sql.SQLException: Io exception: Software caused connection abort: socket write error)
         at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.checkException(BaseWrapperManagedConnection.java:541)
         at org.jboss.resource.adapter.jdbc.local.LocalManagedConnection.commit(LocalManagedConnection.java:100)
         at org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource.commit(TxConnectionManager.java:695)
         ... 33 more
    Caused by: java.sql.SQLException: Io exception: Software caused connection abort: socket write error
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:187)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:229)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:342)
         at oracle.jdbc.driver.OracleConnection.commit(OracleConnection.java:1344)
         at org.jboss.resource.adapter.jdbc.local.LocalManagedConnection.commit(LocalManagedConnection.java:96)
         ... 34 more
    20:05:01,718 WARN [TransactionImpl] XAException: tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=waikitteoh/17, BranchQual=, localId=17] errorCode=XA_UNKNOWN(0)
    org.jboss.resource.connectionmanager.JBossLocalXAException: wrong xid in rollback: expected: null, got: XidImpl[FormatId=257, GlobalId=waikitteoh/17, BranchQual=1, localId=17]
         at org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource.rollback(TxConnectionManager.java:774)
         at org.jboss.tm.TransactionImpl$Resource.rollback(TransactionImpl.java:2165)
         at org.jboss.tm.TransactionImpl.rollbackResources(TransactionImpl.java:1727)
         at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:340)
         at org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:454)
         at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:322)
         at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:146)
         at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:122)
         at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
         at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
         at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
         at org.jboss.ejb.Container.invoke(Container.java:856)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:144)
         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
         at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
         at org.jboss.invocation.jrmp.server.JRMPInvoker$MBeanServerAction.invoke(JRMPInvoker.java:805)
         at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:406)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
         at sun.rmi.transport.Transport$1.run(Transport.java:148)
         at java.security.AccessController.doPrivileged(Native Method)
         at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
         at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
         at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
         at java.lang.Thread.run(Thread.java:534)
    20:05:01,734 ERROR [LogInterceptor] TransactionRolledbackException in method: public abstract void com.infopro.dt.app.ca.ejb.SBCreditApplAttchRemote.setCreditApplAttch(com.infopro.dt.app.ca.ejb.DTOCreditApplAttch) throws javax.ejb.CreateException,java.lang.Exception,java.rmi.RemoteException, causedBy:
    org.jboss.tm.JBossRollbackException: Unable to commit, tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=waikitteoh/17, BranchQual=, localId=17] status=STATUS_NO_TRANSACTION; - nested throwable: (org.jboss.resource.connectionmanager.JBossLocalXAException: could not commit local tx; - nested throwable: (org.jboss.resource.JBossResourceException: SQLException; - nested throwable: (java.sql.SQLException: Io exception: Software caused connection abort: socket write error)))
         at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:344)
         at org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:454)
         at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:322)
         at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:146)
         at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:122)
         at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
         at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
         at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
         at org.jboss.ejb.Container.invoke(Container.java:856)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:144)
         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
         at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
         at org.jboss.invocation.jrmp.server.JRMPInvoker$MBeanServerAction.invoke(JRMPInvoker.java:805)
         at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:406)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
         at sun.rmi.transport.Transport$1.run(Transport.java:148)
         at java.security.AccessController.doPrivileged(Native Method)
         at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
         at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
         at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
         at java.lang.Thread.run(Thread.java:534)
    Caused by: org.jboss.resource.connectionmanager.JBossLocalXAException: could not commit local tx; - nested throwable: (org.jboss.resource.JBossResourceException: SQLException; - nested throwable: (java.sql.SQLException: Io exception

    Try to use the OCI native driver instead of THIN.

  • Few questions - game loop, data types, speed

    Hello, I have a few questions after studying some topics in this forum regarding game creation:
    1) What's the fastest way to wait in the game loop? I've seen two approaches:
    thread.sleep(10)andsynchronized(this) { wait(10); }2) What data types shall I use? In C++ I use to prefer int over short in all cases, because 32bit hardware works faster with integers. Is this same on cell phones?
    3) Speed of applications is slow. I just wonder wheter it's my fault. I was testing application, which only cleared the buffer and outputted FPS and I got around 20 frames. It was Nokia 6300 with 240x320 display. After testing on other phones I've found out that the bigger the resolution, the slower the game is going. Is this normal?
    Thanks for replies...

    1) You're not going to notice any really speed difference between the two code snippets. Read up on 'Threads', and you'll see why one may be used in place of the other depending on the situation. In general there may be a slight performance loss, however unnoticable, when using the synchronized version, but when you are multithreading it is likely necessary.
    sleep(int) is impossible to interrupt, so it's generally a no-no in most situations. However we are talking about devices where every bit of performance helps, so as long as it works for ya, it's not a big deal.
    2) The performance difference is fairly negligable, if any. The biggest thing to consider is memory requirements, and shorts take 1/2 the data.
    Also, many phones don't support floating point data types, so you'll likely need to use ints/longs to calculate your values if you want to have any accuracy beyond whole numbers. Doing something like shifting bits or using 1000x values in your calculations can get around most of the problems when you can't use floats.
    3) The biggest performance killers are IO, memory allocation, screen drawing; pretty much in that order. So I imagine that you are re-creating a new String object every time you output your FPS value on screen right? Doing that every frame would destroy any hopes of getting high-performance.
    Just be careful, and never allocate objects when you can avoid it. anything where you concat String objects using + will cause your performance to die a horrible painful slow death. Remove anything that says 'new' from your main loop, and all String operations, and it'll likely speed things up a lot for ya.
    Does your main loop have something like this?
    g.drawString("FPS: " + currentFps, 0,0,Graphics.TOP | Graphics.LEFT);
    This is very bad because of the String operation. It'll create a new String every frame.
    If you have any more specicif questions, or you'd just like to pick the brain of a mobile game dev, stop by my messageboard:
    http://attackgames.proboards84.com
    Message was edited by:
    hooble

  • Oracle Forms New Features - Your input.  Supporting data types

    I am interested to know IF we were to support any new database types in Oracle Forms 11g, which types would you like supported and why. I'd also like to know if you are currently working around the absence of a database type.
    Please note, this is not any kind of commitment to support new data types in Oracle Forms applications but we are interested to know if there is demand and if so, for what types.
    Thanks
    Grant Ronald
    Oracle Forms Product Management
    p.s lets keep the thread focused on the topic so please don't post technical questions or comments about different new features - if you want to, start a new thread - thanks

    Hi Grant,
    support for the "new" - well they exists since 9iR1 ... 2001 - data types TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH LOCAL TIME ZONE, INTERVAL YEAR TO MONTH and INTERVAL DAY TO SECOND would be very helpful.
    Currently it's not possible to use the Data Block Wizard to create a data block for table/view that contains one of these columns.
    (In Forms Builder 10.1.2.3 it fails with a strange error message ... iewbdbc_oracle_to_id ... C:\forms\101220\src\ie\iewbdb.c:724 ...)
    So, one has to create the data block and the items manually. The items have to be CHARS.
    Then forms is able to fetch and display these columns. The user can edit them as normal.
    A WHEN-VALIDATE-ITEM trigger can be used to make sure that the implicit conversion from CHAR to the "new" datatype works.
    For example, an INTERVAL YEAR TO MONTH column (b):
    declare
      l_invalid_interval exception;
      pragma exception_init(l_invalid_interval, -1867);
      l_invalid_month exception;
      pragma exception_init(l_invalid_month, -1843);
      l_dummy interval year(9) to month;
    begin
      l_dummy := to_yminterval(:block2.b);
    exception
      when l_invalid_interval
      then
        message('invalid interval');
        raise form_trigger_failure;
      when l_invalid_month
      then
        message('invalid month');
        raise form_trigger_failure;
      when others
      then
        message(error_text);
        raise form_trigger_failure;
    end;This nasty trick works for most of the "new" datatypes except with TIMESTAMP WITH TIME ZONE.
    In Forms 10.1.2.3 the following WHEN-VALIDATE-ITEM trigger can (incorrectly!) fail:
    declare
      l_dummy timestamp with time zone;
    begin
      l_dummy := to_timestamp_tz(:block2.a);     
    end;It fails with "ORA-01804: failure to initialize timezone information", if the time zone is not like "-11:00", but like "EUROPE/PARIS". Don't know why...
    If we recode our trigger to make a round-trip to the database, it works:
    declare
      l_dummy timestamp with time zone;
    begin
      select to_timestamp_tz(:block2.a)
      into   l_dummy
      from dual;     
    end;We could avoid these tricks, if Forms (and Reports) would support these type natively.
    Thanks, Michael
    PS: The TIMESTAMP and INTERVAL data types should of course be supported as items, parameters, globals and record groups columns.
    Edited by: michael76 on 25.10.2010 01:14

  • How to set the Data types of the Excel sheet while exporting details to it.

    Hi All,
    We are trying to export some order details to the excel sheet from a jsp. It is working fine when the local system language is set to English.
    But when i change it to Russian. the details like Line Numbers(e.g: 1.1, 1.2, 1.3 and so on... ) are getting changed into some other data type(e.g: 01.янв, 02.янв, 03.янв and so on....).
    i guess this is mainly due to some data type mismatch, so i tried setting all the possible charset for response in the jsp, but could not succeeded.
    This is only for the details which or of decimal format, working fine for the details which are in String type. like Description, Item name etc...
    As it is high preference issue for our client, Please help me in this regard ASAP.
    Thanks & Regards,
    Praveen Reddy B

    hi Shiv..
    Its not an OAF page but it is from Apps only (i.e.Oracle iStore).
    we tried writing this:
    <%response.setContentType("application/vnd.ms-excel; charset=UTF-8");%>
    <%response.setHeader("Content-Disposition", "attachment; filename=downloadOrders.xls" );%>
    <head>
              <title>Logitech_iStore</title>
    <style>
    table {
    border-style: solid;
    table th.mainHeader {
                                            border-style: solid;
    background-color:#000099;
    border-color:#000000;
    color:#FFFFFF;
    font-family:Arial, Helvetica, sans-serif;
    font-weight:bold;
    font-size:13pt;
    table th {
                                            border-style: solid;
    background-color:#6687C4;
    border-color:#000000;
    color:#FFFFFF;
    font-family:Arial, Helvetica, sans-serif;
    font-weight:bold;
    font-size:12pt;
    table td.color1 {
                                            border-style: solid;
    background-color:#FFFFFF;
    border-color:#000000;
    color:#000000;
    font-family:"Times New Roman", Times, serif;
    font-weight:normal;
    font-size:12pt;
    table td.color2 {
                                            border-style: solid;
    background-color:#C0C0C0;
    border-color:#000000;
    color:#000000;
    font-family:"Times New Roman", Times, serif;
    font-weight:normal;
    font-size:12pt;
                                  table td {
                                            border-style: solid;
    background-color:#FFFFFF;
    border-color:#000000;
    color:#000000;
    font-family:"Times New Roman", Times, serif;
    font-weight:normal;
    font-size:12pt;
    </style>
    </head>
              <body>
              <%
                        /*BigDecimal resp_id=RequestCtx.getResponsibilityId();
                        String respIdParam="";
                        String respkey="";
                        if(resp_id!=null)
                        respIdParam=resp_id.toString();
                        out.println("respIdParam"+respIdParam);
                        logi.oracle.apps.ibe.util.LogiDAOImpl dao=new logi.oracle.apps.ibe.util.LogiDAOImpl();
                        respkey=dao.getRespKey(respIdParam);
                        out.println("respkey"+respkey);
              logi.oracle.apps.ibe.util.LogiOrderDetailsBean orderDetailsBean = new logi.oracle.apps.ibe.util.LogiOrderDetailsBean();
                        java.util.ArrayList ls = new java.util.ArrayList();
                        String resp_key=request.getParameter("respkey");
                        System.out.println(resp_key);
                        String noofDays=request.getParameter("noOfDays");
                        String qCustAcctId=request.getParameter("qCustAcctId");
                        logi.oracle.apps.ibe.util.LogiDAOImpl daoimpl=new logi.oracle.apps.ibe.util.LogiDAOImpl();
                        String decideTab=request.getParameter("decideTab");
                        String startDate=request.getParameter("startDate");
                        String endDate=request.getParameter("endDate");
                        String queryCondition=request.getParameter("queryCondition");
                        String queryOperator=request.getParameter("queryOperator");
                        String queryValue=request.getParameter("queryValue");
                        String queryDateValue=request.getParameter("queryDate");
                        System.out.println("queryDateValue"+queryDateValue);
    %>
                        <table cellspacing="1" cellpadding="1" width="100%" border="0" class="OraBGAccentDark">
    <tr>
    <th><%=AOLMessageManager.getMessageSt("IBE","IBE_LGT_ORD_NUM")%></th>
                                       <th>Customer Name</th>
                                       <th><%=AOLMessageManager.getMessageSt("IBE","IBE_LGT_ORD_DATE")%></th>
                                            <th><%=AOLMessageManager.getMessageSt("IBE","IBE_LGT_BOOKED_DATE")%></th>
                                  <th>Request Date</th>
                                            <th><%=AOLMessageManager.getMessageSt("IBE","IBE_LGT_ORD_STATUS")%></th>
                                            <th><%=AOLMessageManager.getMessageSt("IBE","IBE_LGT_ORD_PO")%></th>
                                  <th>Currency</th>                                                                 
                                            <th>Payment Terms</th>                                                                      <th>Freight Terms</th>
                                       <th>FOB</th>
                                            <th>Sales Channel</th>
                                            <th>Ship to Location</th>
                                            <th>Bill to Location</th>
                                            <th>SalesTerritory Country</th>
                                            <th>Order Type</th>
                                            <th>Order Total</th>
                                            <th><%=AOLMessageManager.getMessageSt("IBE","IBE_LGT_LINE_NUM")%></th>
                                            <th><%=AOLMessageManager.getMessageSt("IBE","IBE_LGT_ITEM")%></th>
                                            <th>Customer SKU</th>
                                            <th>Description</th>
                                            <th><%=AOLMessageManager.getMessageSt("IBE","IBE_LGT_QTY")%></th>
                                            <th>Shipped Quantity</th>
                                            <th>ScheduleShip Date</th>
                                            <th>Unit Price</th>
                                            <th>Extented Amount</th>
                                            <th>Taxes Total</th>
                                            <th>Freight Charges</th>
                                            <th>Case pack charge</th>
                                            <th>Charges Total</th>                                   
                                       <th><%=AOLMessageManager.getMessageSt("IBE","IBE_LGT_LINE_STATUS")%></th>
                                            <th>Ship Date</th>
                                            <th>Warehouse</th>
                                            <th>Tracking Number</th>
                                            <th>Waybill Number</th>
                                            <th>Delivery Number</th>
                                            <th>Pro Number</th>
                                            <th>Hold Applied</th>
                                            <th>Pallet Qty</th>
                                            <th>Pallet#</th>
                                            <th>Invoice Number</th>
                                            <th>Promo Number</th>
                                            <th>Ship Method</th>
    </tr>
    <%          
                             int pSiteid=0;
                             java.math.BigDecimal mSiteId=oracle.apps.ibe.util.RequestCtx.getMinisiteId();
                             if(mSiteId!=null)
                             pSiteid=mSiteId.intValue();
                             out.println("pSiteid"+pSiteid);
                   if(decideTab!=null && decideTab.trim().equalsIgnoreCase("days"))
                             if(qCustAcctId!=null)
                                       ls=daoimpl.downOrderDetails(qCustAcctId,noofDays,pSiteid);
                        else if(decideTab!=null && decideTab.trim().equalsIgnoreCase("dates"))
                             if(qCustAcctId!=null)
                                       ls=daoimpl.downOrderDateDetails(qCustAcctId,queryDateValue,startDate,endDate);
                        else if(decideTab!=null && decideTab.trim().equalsIgnoreCase("condition"))
                             if(qCustAcctId!=null)
                                       ls=daoimpl.downOrderConditionDetails(qCustAcctId,queryCondition,queryOperator,queryValue);
                        for(int i=0;i<ls.size();i++)
                             orderDetailsBean=(logi.oracle.apps.ibe.util.LogiOrderDetailsBean)ls.get(i);
                             String orderNumber= orderDetailsBean.getOrderNumber();          //Order Number
                             if(orderNumber==null)orderNumber="";                         
                             String customerName=orderDetailsBean.getCustomerName();          //Customer Name
                             if(customerName==null)customerName="";
                        String orderedDate=orderDetailsBean.getOrderDate();               //Order Date
                             if(orderedDate==null)orderedDate="";
                             String bookeddate= orderDetailsBean.getBookedDate();          //Booked Date
                             if(bookeddate==null)bookeddate="";
                             String requestdate= orderDetailsBean.getRequestDate();          //Requested Date
                             if(requestdate==null)requestdate="";
                             String orderstatus= orderDetailsBean.getOrderStatus();          //Order Status
                             if(orderstatus==null)orderstatus="";               
                             String ponumber= orderDetailsBean.getPoNumber();               //PO Number
                             if(ponumber==null)ponumber="";
                             String currency=orderDetailsBean.getCurrencyCode();               //Currency
                             if(currency==null)currency="";
                             String paymentterms= orderDetailsBean.getPaymentTerms();     //Payment Terms
                             if(paymentterms==null)paymentterms="";
                             String frieghtterms=orderDetailsBean.getFreightTerms();          //Freight Terms
                             if(frieghtterms==null)frieghtterms="";
                             String fobterms=orderDetailsBean.getFobTerms();                    //Fob Terms
                             if(fobterms==null)fobterms="";
                             String saleschannel=orderDetailsBean.getSalesTerms();          //Sales Channel
                             if(saleschannel==null)saleschannel="";
                             String billtoloc=orderDetailsBean.getBillToLocation();          // Bill to Location
                             if(billtoloc==null)billtoloc="";
                             String shiptoloc=orderDetailsBean.getShipToLocation();          //Ship To Location
                             if(shiptoloc==null)shiptoloc="";
                             String salesterr=orderDetailsBean.getSalesCountry();          // Sales Territory
                             if(salesterr==null)salesterr="";
                             String ordertype=orderDetailsBean.getOrderType();               // Order Type
                             if(ordertype==null)ordertype="";
                             String ordertotal=orderDetailsBean.getOrderTotal();               //Order Total
                             if(ordertotal==null)ordertotal="";
                             String linenumber=orderDetailsBean.getLinenumber();               //Line Number
                             if(linenumber==null)linenumber="";
                             String item= orderDetailsBean.getItem();                         //Item Name
                             if(item==null)item="";
                             String sku= orderDetailsBean.getCustomerSKU();               // Customer SKU
                             if(sku==null)sku="";
                             String desc= orderDetailsBean.getDescription();               //Item Description
                             if(desc==null)desc="";
                             desc = URLEncoder.encode(desc);                                        // Added by Sunil
                             desc = URLDecoder.decode(desc);
                             String qty=orderDetailsBean.getQty();                              //Ordered Quantity
                             if(qty==null)qty="";
                             String shippedqty=orderDetailsBean.getShippedQty();               //Shipped Quantity
                             if(shippedqty==null)shippedqty="";
                             String scheduleqty=orderDetailsBean.getScheduleDate();          //Schedule Date
                             if(scheduleqty==null)scheduleqty="";
                             String unitprice=orderDetailsBean.getUnitPrice();               //Unit Price
                             if(unitprice==null)unitprice="";
                             String xamount=orderDetailsBean.getXAmount();                    //Extended Amount
                             if(xamount==null)xamount="";
                             String taxestotal=orderDetailsBean.getTaxesTotal();               //Taxes Total
                             if(taxestotal==null)taxestotal="";
                             String freightcharges=orderDetailsBean.getFreightCharges();//Freight Charges
                             if(freightcharges==null)freightcharges="";
                             String palletcharges=orderDetailsBean.getPalletSurcharge();     //Pallet Charges
                             if(palletcharges==null)palletcharges="";
                             String chargestotal=orderDetailsBean.getChargesTotal();          //Charges Total
                             if(chargestotal==null)chargestotal="";
                             String linestatus=orderDetailsBean.getLinestatus();               //Line Status
                             if(linestatus==null)linestatus="";
                             String shipdate=orderDetailsBean.getShipDate();                    //Ship Date
                             if(shipdate==null)shipdate="";
                             String warehouse=orderDetailsBean.getWareHouse();               //Ware House
                             if(warehouse==null)warehouse="";
                             String trackingnumber=orderDetailsBean.getTrackingNumber();//Tracking Number
                             if(trackingnumber==null)trackingnumber="";
                             String waybill=orderDetailsBean.getWayBillnumber();               //Waybill Number
                             if(waybill==null)waybill="";
                             String deliverynumber=orderDetailsBean.getDeliveryNumber();     //Delivery Number
                             if(deliverynumber==null)deliverynumber="";
                             String pronumber=orderDetailsBean.getProNumber();               //Pro Number
                             if(pronumber==null)pronumber="";
                             String holdapplied=orderDetailsBean.getHoldApplied();          //Hold Applied
                             if(holdapplied==null)holdapplied="";
                             String palletqty=orderDetailsBean.getPalletQty();               //Pallet Qty
                             if(palletqty==null)palletqty="";
                             String pallethash=orderDetailsBean.getPalletHash();               //Pallet Hash
                             if(pallethash==null)pallethash="";
                             String invoicenumber=orderDetailsBean.getInvoiceNumber();               //invoice Number
                             if(invoicenumber==null)invoicenumber="";
                             String promonumber=orderDetailsBean.getPromoNumber();               //Promonumber
                             if(promonumber==null)promonumber="";
                             String shipmethod=orderDetailsBean.getShipMethod();               //Promonumber
                        if(shipmethod==null)shipmethod="";
                   %>
                   <tr>
                   <td><%=orderNumber%></td>
                   <td><%=customerName%></td>
                   <td><%=orderedDate%></td>
                   <td><%=bookeddate%></td>
                   <td><%=requestdate%></td>
                   <td><%=orderstatus%></td>
                   <td><%=ponumber%></td>
                   <td><%=currency%></td>
                   <td><%=paymentterms%></td>
                   <td><%=frieghtterms%></td>
                   <td><%=fobterms%></td>
                   <td><%=saleschannel%></td>
                   <td><%=billtoloc%></td>
                   <td><%=shiptoloc%></td>
                   <td><%=salesterr%></td>
                   <td><%=ordertype%></td>
                   <td><%=ordertotal%></td>
                   <td><%=linenumber%></td>
                   <td><%=item%></td>          
                   <td><%=sku%></td>
                   <td><%= desc %></td>
                   <td><%=qty%></td>
                   <td><%=shippedqty%></td>
                   <td><%=scheduleqty%></td>
                   <td><%=unitprice%></td>
                   <td><%=xamount%></td>
                   <td><%=taxestotal%></td>
                   <td><%=freightcharges%></td>
                   <td><%=palletcharges%></td>
                   <td><%=chargestotal%></td>
                   <td><%=linestatus%></td>
                   <td><%=shipdate%></td>
              <td><%=warehouse%></td>
                   <td><%=trackingnumber%></td>
                   <td><%=waybill%></td>
                   <td><%=deliverynumber%></td>
                   <td><%=pronumber%></td>
                   <td><%=holdapplied%></td>
                   <td><%=palletqty%></td>
                   <td><%=pallethash%></td>
                   <td><%=invoicenumber%></td>
                   <td><%=promonumber%></td>
                   <td><%=shipmethod%></td>
                   </tr>
                   <%     }
              %>
              </table>
              </body>
              </html>
    Please suggest the needful...
    Praveen Reddy

  • Problem with a query with a BLOB data type

    Hi i've a problem with this query in 11g. R1
    SELECT
          LOGTIMESTAMP,
          LOGTIMEMILLIS,
          MSGID,
          XMLTYPE(MESSAGEBODY, nls_charset_id('AL32UTF8')).getClobVal()  as LLamada
    FROM
        vordel.AUDIT_MESSAGE_PAYLOAD,
        vordel.AUDIT_LOG_POINTS
    WHERE
        AUDIT_LOG_POINTS.LOGPOINTSPK = AUDIT_MESSAGE_PAYLOAD.MP_LOGPOINTSPK AND
        LOGTIMESTAMP between TO_TIMESTAMP('03-12-2011 00:00','DD-MM-YYYY HH24:MI') and  TO_TIMESTAMP('03-12-2011 12:00','DD-MM-YYYY HH24:MI')
         and filtertype = 'LogMessagePayloadFilter'
      and filtername like 'Log Llamada%'MESSAGEBODY: data type of the Column is BLOB
    throw this error after execute the query
    Error:
    ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00200: could not convert from encoding UTF-8 to UCS2
    Error at line 1
    ORA-06512: at "SYS.XMLTYPE", line 283
    ORA-06512: at line 1

    Could you check the BLOB really contains UTF-8 encoded XML?
    What's your database character set?The BLOB contains UTF-8 Encoded
    and the database where i am connectes have AL32UTF8 character set, but my internal instance have "AMERICAN_AMERICA.WE8ISO8859P1"
    that is a problem?
    How could I change the character set of the oracle local client to the character set of the remote oracle data base?

  • Problem in validation of Data type

    Hello,
    I have create a data type where I define elements with maxlength and pattern. But when I want to test a mapping with a wrong message, there is no error.
    Why pattern and maxlenght re not use to validate the xml message ?
    Thanks
    Regards
    Chris

    Hi Christophe,
    XI doesnot do anything with these restrictions. As fas as I know, there isn't an option to turn it on.
    What I normally do is test the data in the mapping.
    Hopes this helps,
    Christiaan Schaake

  • Problem to transform Flat file to Data Type Structurated and map to IDOC

    Hi all,
    I have a file to idoc scenario.
    The information is like this:
    1#!445#!AI12#!1#!20070214#!DVXXXXR#!201#!31GINHG876#!#!
    2#!#!ETC
    3#!000000000030008888#!#!3000#!#!10#!#!20070215
    4#!dades45#!b#!c#!d#!e#!f#!g
    5#!pos5
    where 1, 2, ... = key segments for the file adapter and #! are the field separator.
    this must go to a Data Type with substructures like this:
    (xml)
    .1
    ......2
    .3
    ......4
    ......5
    where 2 is inside 1 and 4-5 inside 3.
    The reason of this is we can get unbounded replays of 3/4/5 for one header.
    But XI reads the information like if all segments are headers.
    .1
    .2
    .3
    .4
    .5
    So the IDOC is bad created.
    Where is the issue?  At Message Mapping all substructures are mapped with his default and at TEST option it works fine.
    Thanks in advance for your help.
    best regards
    Message was edited by:
            Federico Martin
    Message was edited by:
            Federico Martin

    Dear people,
    according to license problems at client, it's impossible to get the convert agent.
    so now we come back to try to solve with normal mapping.
    the next step is try to convert it using 2 message mappings: dt (flat xml) to dt (structurated) and this one to the idoc.
    i suppose it can be done adding program at interface mapping.
    I created the no hiereachical Data Type for load the information and it's fine. But i am unable to get the first mapping OK, because XI has problems with unbounded segments.
    If you agreed and has time, i copy here the information and his structure.
    I receive (#! defines separation and key segment fields are 1,2,3,4,5):
    1#!445#!AH02#!1#!20070214#!DVPOSTER#!201#!31GINHGIN0#!#!
    2#!#!ETC
    3#!000000000030008888#!#!3000#!#!10#!#!20070215
    4#!dades45#!b#!c#!d#!e#!f#!g
    3#!000000000030008888#!#!3000#!#!10#!#!20070215
    3#!000000000030008888#!#!3000#!#!10#!#!20070215
    4#!dades45#!b#!c#!d#!e#!f#!g
    5#!pos5
    5#!pos5
    5#!pos5
    The destination must be:
    CHASE A
    1 (1..1)
    ....2 (1..1)
    3 (1..unbounded)
    ....4 (0..1)
    3 (1..unbounded)
    3 (1..unbounded)
    ....4 (0..1)
    5 (1..unbounded)
    5 (1..unbounded)
    5 (1..unbounded)
    CHASE B
    Or, in another case with 5 as child of 3 (like example in last mail)
    1#!445#!AH02#!1#!20070214#!DVPOSTER#!201#!31GINHGIN0#!#!
    2#!#!ETC
    3#!000000000030008888#!#!3000#!#!10#!#!20070215
    4#!dades45#!b#!c#!d#!e#!f#!g
    5#!pos5
    3#!000000000030008888#!#!3000#!#!10#!#!20070215
    5#!pos5
    3#!000000000030008888#!#!3000#!#!10#!#!20070215
    4#!dades45#!b#!c#!d#!e#!f#!g
    5#!pos5
    1 (1..1)
    ....2 (1..1)
    3 (1..unbounded)
    ....4 (0..1)
    ....5 (1..unbounded)
    3 (1..unbounded)
    ....5 (1..unbounded)
    3 (1..unbounded)
    ....4 (0..1)
    ....5 (1..unbounded)
    3 (1..unbounded)
    ....4 (0..1)
    ....5 (1..unbounded)
    Questions:
    How i do for map Data Type (no hierachical) -to-> Data Type (hierachical) and  Data Type (hierachical) -to-> IDOC? Is any loop or context object required?
    Thank you in advance for your help and sorry the long thread.

  • 'unsupported data type' in interactive report

    Hi,
    I try to download a file from a link of an itneractive report.
    In the "report attributes" section of the interactive column, I have defined in the link section of a column the 'Target' as 'URL', and the URL as this :
    DOWNLOAD:CONVENTIONS:#FILE_BLOB#:#ID#::#MIME_TYPE#:#FICHIERS#:#LAST_UPDATE#::attachment:ConvWhen I run the interactive report, the link show this :
    download:CONVENTIONS:[unsupported data type]:188:::C22.pdf:::attachment:Conv
    The table "CONVENTIONS" is defined like this :
    "ID" NUMBER NOT NULL ENABLE,
    "FICHIERS" VARCHAR2(2048 BYTE),
    "FILE_BLOB" BLOB,
    "LAST_UPDATE" DATE,
    "MIME_TYPE" VARCHAR2(255 BYTE)
    Where is my error ?
    Thank for your kind help !
    Christian

    Hi Christina,
    sorry the wizard you have to use is the "Form > Form on Table with Report", because the normal create interactive report wizard allows to enter a query.
    After you are done with the wizard, have a look at the generated SQL statement (it has to use the dbms_lob.getlength) and the value in "Number / Date Format" for that column.
    Regards
    Patrick
    My Blog: http://www.inside-oracle-apex.com
    APEX 4.0 Plug-Ins: http://apex.oracle.com/plugins

  • Creating RosettaNet data types in XI 2.0: 'xml:lang' attribute

    Has anybody successfully created a RosettaNet interface in XI 2.0?
    I am working with the PIP 3A2 messages, but some of the elements have an attribute named 'xml:lang', which is a standardized attribute from the W3C's XML namespace.  The attribute name is declared as 'xml:lang' because it's still a DTD-based PIP.  Normally, in schema, this is handled by declaring an import of the xml.xsd file provided by W3C and defining the namespace alias 'xml' to point to it in the RosettaNet schema.  The xml.xsd provided by W3C boils down to the following declaration, to support 'xml:lang' as an attribute...
    <xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
    <xs:attribute name="lang" type="xs:language">
    </xs:attribute>
    </xs:schema>
    I'm trying to create this interface in the XI 2.0 data type editor, but...
    1. I can't create attributes as standalone data types in alternate namespaces (to simulate the declarations in W3C's xml.xsd).
    2. I can't link a standalone attribute declaration from another namespace to an attribute in the editor.
    3. The editor prohibits use of a colon in the attribute name (as it should), so I can't declare the attribute name to be 'xml:lang'.
    4. I can't figure out how to control the addition of a new namespace alias to 'xml'.  The editor wants to use default names like 'p0' when I bring in types from other namespaces.
    Can anyone suggest where I should look for an answer?
    --Dan King
    Capgemini

    Hi Dan,
    You can design and Test Rosettanet PIPS Messages in XI-3.0 only.
    Regards
    Prasad
    SAP Netwaver RIG-XI
    SAP Labs LLC, USA

Maybe you are looking for