OCIObjectSetAttr performance deteriorates when binding too many Type params

Hi,
In my application, when I passed a Type Array as parameter to the stored procedure and when the Type Array is large enough(normally 3000 type objects, each objects has about 15 attributes), the OCIObjectSetAttr performance deteriorates large enough from below 1 millisecond to 1~3 miliseconds.
I am using OCI 11gR2, does anyone notice it and know how to optimize it?
Regards,
-Bruce

Hi Steve,
Locking algorithms are used to ensure correct behavior when concurrent threads or processes access and update shared data structures. Too many deadlocks is a symptom of too much contention.
One very effective way to reduce contention (and hence deadlocks) is by careful application design. Here are a few things you can do to improve the situation (these are general suggestions; they may or may not be applicable in your application, but certainly worth considering).
- "contention friendly" data model and data - for example, but choosing random (but unique) keys, you will reduce the contention on the b-tree index for concurrent inserts.
- partitioning the data - if you have n threads, and create n databases, where each thread inserts data into its own database, then you'll dramatically reduce the locking contention. If the data files are on separate spindles, you'll also reduce the IO bottleneck.
- keep transactions short
- hold write locks for the shortest possible duration
It may be worth trying some of these ideas.
The next release of Berkeley DB (version 4.8) is coming soon; it has significant enhancements specifically designed to reduce contention. I'd certainly recommend studying the new features and enhancements and then trying out BDB 4.8.
Hope this helps.
Thanks and warm regards.
ashok joshi
Director, Oracle Berkeley DB development

Similar Messages

  • Too many type parameters for interface

    In JDev 11.1.1.0.0, I do a compile and I get 65 files with errors saying
    Error: too many type parameters for interface java.util.Map<java.lang.String, java.lang.Class<?>>
    but the class doesn't use the Map object.
    Other files get it for the Set object.
    Note that no line number was given as part of the error message.
    I installed the JDev 11.1.1.0.0 base from the zip file.
    What's wrong?

    Hi,
    And you do a compile on what exactly, Please post one of the erroneous class' code using the code within bracket tag so that we can help you.
    Regards,
    ~ Simon

  • ADF BC Binds too many parameters

    This has to be something simple. There's only one bind parameter (nullable), and one View criteria...but for some reason, ADF BC wants to bind 3 parms and it blows up. Anyone have any insight as to where the 3rd is coming from?
    [665] ViewObjectImpl.closeStatementsResetRowSet(12258) ViewObject: [xxx.pres.fc.model.view.readonly.RequestorAgencyView]FCServiceAM.RequestorAgencyView1 close prepared statements...
    [666] ViewObjectImpl.getPreparedStatement(12035) ViewObject: [xxx.pres.fc.model.view.readonly.RequestorAgencyView]FCServiceAM.RequestorAgencyView1 Created new QUERY statement
    [667] ViewObjectImpl.buildQuery(4014) RequestorAgencyView1>#q computed SQLStmtBufLen: 207, actual=179, storing=209
    [668] ViewObjectImpl.buildQuery(4028) SELECT * FROM (SELECT REQUESTOR_ID
    ,OFFICER_FIRST_NAME
    FROM REQUESTOR_AGENCY) QRSLT WHERE ( ( ( ( UPPER(OFFICER_FIRST_NAME) LIKE UPPER( ? + '%') ) OR ( ? IS NULL ) ) ) )
    [669] ViewObjectImpl.bindParametersForCollection(19278) Bind params for ViewObject: [xxx.pres.fc.model.view.readonly.RequestorAgencyView]FCServiceAM.RequestorAgencyView1
    [670] BaseSQLBuilderImpl.bindParamValue(2185) Binding null of type 12 for 1
    [671] BaseSQLBuilderImpl.bindParamValue(2185) Binding null of type 12 for 2
    [672] BaseSQLBuilderImpl.bindParamValue(2185) Binding null of type 12 for 3
    [673] ViewObjectImpl.freeStatement(12229) ViewObject: [xxx.pres.fc.model.view.readonly.RequestorAgencyView]FCServiceAM.RequestorAgencyView1 close single-use prepared statements
    [674] QueryCollection.buildResultSet(1134) QueryCollection.executeQuery failed...
    [675] Diagnostic.printStackTrace(409) com.microsoft.sqlserver.jdbc.SQLServerException: The index 3 is out of range.
         at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:171)
         at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setterGetParam(SQLServerPreparedStatement.java:700)
         at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setNull(SQLServerPreparedStatement.java:888)
         at oracle.jbo.server.BaseSQLBuilderImpl.bindParamValue(BaseSQLBuilderImpl.java:2193)
         at oracle.jbo.server.BaseSQLBuilderImpl.bindParametersForStmt(BaseSQLBuilderImpl.java:3645)
         at oracle.jbo.server.ViewObjectImpl.bindParametersForCollection(ViewObjectImpl.java:19288)
         at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:1099)
         at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:859)
         at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:6314)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:1169)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:1028)
         at oracle.jbo.server.ViewRowSetIteratorImpl.ensureRefreshed(ViewRowSetIteratorImpl.java:2753)
         at oracle.jbo.server.ViewRowSetIteratorImpl.ensureRefreshed(ViewRowSetIteratorImpl.java:2730)
         at oracle.jbo.server.ViewRowSetIteratorImpl.first(ViewRowSetIteratorImpl.java:1559)
         at oracle.jbo.server.ViewRowSetImpl.first(ViewRowSetImpl.java:3426)
         at oracle.jbo.server.ViewObjectImpl.first(ViewObjectImpl.java:8993)
         at oracle.adf.model.binding.DCIteratorBinding.setupRSIstate(DCIteratorBinding.java:766)
         at oracle.adf.model.binding.DCIteratorBinding.refreshControl(DCIteratorBinding.java:666)
         at oracle.jbo.uicli.binding.JUIteratorBinding.refreshControl(JUIteratorBinding.java:474)
         at oracle.adf.model.binding.DCIteratorBinding.refresh(DCIteratorBinding.java:4377)
         at oracle.adf.model.binding.DCExecutableBinding.refreshIfNeeded(DCExecutableBinding.java:347)
         at oracle.adf.model.binding.DCIteratorBinding.getRowSetIterator(DCIteratorBinding.java:1592)
         at oracle.jbo.jbotester.panel.BindingPanel.setBindingContext(BindingPanel.java:116)
         at oracle.jbo.jbotester.panel.BindingPanel.<init>(BindingPanel.java:88)
         at oracle.jbo.jbotester.panel.BindingPanel.<init>(BindingPanel.java:71)
         at oracle.jbo.jbotester.form.BindingForm.createMasterPanel(BindingForm.java:63)
         at oracle.jbo.jbotester.form.BindingForm.init(BindingForm.java:98)
         at oracle.jbo.jbotester.form.JTForm.<init>(JTForm.java:72)
         at oracle.jbo.jbotester.form.BindingForm.<init>(BindingForm.java:50)
         at oracle.jbo.jbotester.form.FormType$1.createForm(FormType.java:63)
         at oracle.jbo.jbotester.form.FormType.createForm(FormType.java:199)
         at oracle.jbo.jbotester.form.FormType.createTab(FormType.java:270)
         at oracle.jbo.jbotester.form.FormType.showForm(FormType.java:248)
         at oracle.jbo.jbotester.form.FormType.showForm(FormType.java:207)
         at oracle.jbo.jbotester.form.FormType.showForm(FormType.java:203)
         at oracle.jbo.jbotester.tree.ObjTreeNode.showForm(ObjTreeNode.java:140)
         at oracle.jbo.jbotester.tree.ObjTreeNode.showForm(ObjTreeNode.java:123)
         at oracle.jbo.jbotester.tree.Tree.processTreeMouseClicked(Tree.java:728)
         at oracle.jbo.jbotester.tree.Tree.access$100(Tree.java:96)
         at oracle.jbo.jbotester.tree.Tree$TreeMouseListener.mouseClicked(Tree.java:141)
         at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253)
         at java.awt.Component.processMouseEvent(Component.java:6266)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
         at java.awt.Component.processEvent(Component.java:6028)
         at java.awt.Container.processEvent(Container.java:2041)
         at java.awt.Component.dispatchEventImpl(Component.java:4630)
         at java.awt.Container.dispatchEventImpl(Container.java:2099)
         at java.awt.Component.dispatchEvent(Component.java:4460)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4247)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
         at java.awt.Container.dispatchEventImpl(Container.java:2085)
         at java.awt.Window.dispatchEventImpl(Window.java:2478)
         at java.awt.Component.dispatchEvent(Component.java:4460)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

    Nevermind...you work on something for 2 days, then post to the forum, then figure it out immediately afterwards. The problem was that I had been adding a bind variable, then adding the view criteria that referenced it. Apparently, following this sequence adds Kind="where" to the variable in the xml source. Finally I tried deleting the variable, creating the view criteria, and adding the bind variable WITHIN the Edit View Criteria wizard. Afterwards, I noticed that Kind="viewcriteria" and the light bulb finally turned on. Kind="where" should only be used when you're using parameters in the view's query...or both your query and your view criteria. Who knew.

  • Iwlist scan fails when there too many wireless networks

    $ sudo iwlist wlan0 scan
    print_scanning_info: Allocation failed
    wicd uses iwlist to scan networks but iwlist fails when there are too many networks. This seems to be an old issue.  Is there a fix for this?
    Thanks.

    There's a fix yes. For wireless_tools-29 there's a patch somewhere. Or you install wireless_tools-30pre9

  • Amazon S3 Organizer add-on gives an exception error when downloading: "Too many arguments"

    When I try to download any file from the S3 server to my PC, the above exception error comes up. "[Exception... "Not enough arguments [nslWebBrowserPersis.saveURI]" nsresult: 0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)" location "JS frame......" (much more that is not copied here). Interestingly, if I try to download a bucket, it will create a folder on the PC but it hangs on the files inside. I have uninstalled and reinstalled Firefox as well as the add-on S3 Firefox Add-on 0.7. Doesn't help.

    Start '''[https://support.mozilla.org/en-US/kb/troubleshoot-firefox-issues-using-safe-mode Firefox in Safe Mode]''' {web Link} by holding down the '''<Shift><br> ''(Mac Options)'' ''' key, and then starting Firefox. Is the problem still there?
    Contact tech support for that program for help.

  • Weird behavior when deleting too many rows from a table

    Hello ADFr's
    I have the following code in my managed bean which removes data from an adf table. I am getting an id set from a calling process in my app.
    DCIteratorBinding tableIterato = getIterator(); // returns iterator of the table being modified
    RowSetIterator rsi = tableIterator.getRowSetIterator();
    for(Integer id : idSet) {
    Key key = new Key(new Object[]{id.toString()});
    Row foundRow = rsi.findByKey(key, 1)[0];
    foundRow.remove();
    My issue ..
    This seems to work when the idSet is small 30 or so. But when the idSet is like 50(maybe a littel less) or more, none of the rows seem to be getting deleted. Any clue?
    I added this test in there to see if any rows were being deleted after the loop above, and all the records were still being printed out.
    for(Row row : tableIterator.getAllRowsInRange()) {
    System.out.println("row with name " row.getAtribute("name") " swtill exists");
    This seems to work under 30 fine.
    Why doesn't this work for any size idSet?

    That was it.. thanks Puthanampatti.
    I thought about this right after I sent this//
    Well maybe this post will help someone else (-;

  • Why?When send a String type param from Java to C,I get An unexpected error.

    The error trace like this:
    # An unexpected error has been detected by HotSpot Virtual Machine:
    # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x10001d9c, pid=1944, tid=3204
    # Java VM: Java HotSpot(TM) Client VM (1.5.0_07-b03 mixed mode, sharing)
    # Problematic frame:
    # C [sample.dll+0x1d9c]
    --------------- T H R E A D ---------------
    Current thread (0x00036158): JavaThread "main" [_thread_in_native, id=3204]
    siginfo: ExceptionCode=0xc0000005, reading address 0x00000051
    Registers:
    EAX=0x7ffffffe, EBX=0x26c24ad0, ECX=0x00000051, EDX=0x7fffffff
    ESP=0x0007f748, EBP=0x0007f9fc, ESI=0x0007fa38, EDI=0x0007fa88
    EIP=0x10001d9c, EFLAGS=0x00010206
    Top of Stack: (sp=0x0007f748)
    0x0007f748: 0007fa88 0007fa38 26c24ad0 7c930738
    0x0007f758: 7fffffff 00000030 7c931596 7c9306eb
    0x0007f768: 00000007 00000008 26c24ad0 0007f788
    0x0007f778: 0007f7b4 00ae29a4 00000000 22bf60d0
    0x0007f788: 10001005 00000000 00000001 00000000
    0x0007f798: 0007f790 02eb02b0 0007f7e0 7ffffffe
    0x0007f7a8: 00000000 00000051 0007f7dc 0007f7f4
    0x0007f7b8: 00000000 00000000 00000000 00000000
    Instructions: (pc=0x10001d9c)
    0x10001d8c: 89 85 a8 fd ff ff 85 d2 74 1e 8b 8d b0 fd ff ff
    0x10001d9c: 0f be 11 85 d2 74 11 8b 85 b0 fd ff ff 83 c0 01
    Stack: [0x00040000,0x00080000), sp=0x0007f748, free space=253k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    C [sample.dll+0x1d9c]
    C [sample.dll+0x10ca]
    C [sample.dll+0x12e7a]
    j HelloWorld.sayHello(Ljava/lang/String;)V+0
    j HelloWorld.main([Ljava/lang/String;)V+11
    v ~StubRoutines::call_stub
    V [jvm.dll+0x86401]
    V [jvm.dll+0xdb172]
    V [jvm.dll+0x862d2]
    V [jvm.dll+0x8d2a2]
    C [java.exe+0x14c5]
    C [java.exe+0x69cd]
    C [kernel32.dll+0x16d4f]
    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j HelloWorld.sayHello(Ljava/lang/String;)V+0
    j HelloWorld.main([Ljava/lang/String;)V+11
    v ~StubRoutines::call_stub
    --------------- P R O C E S S ---------------
    Java Threads: ( => current thread )
    0x00a7f6c8 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=3216]
    0x00a7e3c0 JavaThread "CompilerThread0" daemon [_thread_blocked, id=2040]
    0x00a7d480 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=1760]
    0x00a51f58 JavaThread "Finalizer" daemon [_thread_blocked, id=3212]
    0x00a50a70 JavaThread "Reference Handler" daemon [_thread_blocked, id=3208]
    =>0x00036158 JavaThread "main" [_thread_in_native, id=3204]
    Other Threads:
    0x00a4e178 VMThread [id=1952]
    0x00a808e0 WatcherThread [id=3220]
    VM state:not at safepoint (normal execution)
    VM Mutex/Monitor currently owned by a thread: None
    Heap
    def new generation total 576K, used 238K [0x22bd0000, 0x22c70000, 0x230b0000)
    eden space 512K, 46% used [0x22bd0000, 0x22c0b930, 0x22c50000)
    from space 64K, 0% used [0x22c50000, 0x22c50000, 0x22c60000)
    to space 64K, 0% used [0x22c60000, 0x22c60000, 0x22c70000)
    tenured generation total 1408K, used 0K [0x230b0000, 0x23210000, 0x26bd0000)
    the space 1408K, 0% used [0x230b0000, 0x230b0000, 0x230b0200, 0x23210000)
    compacting perm gen total 8192K, used 339K [0x26bd0000, 0x273d0000, 0x2abd0000)
    the space 8192K, 4% used [0x26bd0000, 0x26c24e90, 0x26c25000, 0x273d0000)
    ro space 8192K, 67% used [0x2abd0000, 0x2b12d9f8, 0x2b12da00, 0x2b3d0000)
    rw space 12288K, 46% used [0x2b3d0000, 0x2b973808, 0x2b973a00, 0x2bfd0000)
    Dynamic libraries:
    0x00400000 - 0x0040d000      c:\Program Files\Java\jdk1.5.0_07\bin\java.exe
    0x7c920000 - 0x7c9b4000      C:\WINDOWS\system32\ntdll.dll
    0x7c800000 - 0x7c91c000      C:\WINDOWS\system32\kernel32.dll
    0x77da0000 - 0x77e49000      C:\WINDOWS\system32\ADVAPI32.dll
    0x77e50000 - 0x77ee1000      C:\WINDOWS\system32\RPCRT4.dll
    0x77be0000 - 0x77c38000      C:\WINDOWS\system32\MSVCRT.dll
    0x6d730000 - 0x6d8c7000      c:\Program Files\Java\jdk1.5.0_07\jre\bin\client\jvm.dll
    0x77d10000 - 0x77d9f000      C:\WINDOWS\system32\USER32.dll
    0x77ef0000 - 0x77f37000      C:\WINDOWS\system32\GDI32.dll
    0x76b10000 - 0x76b3a000      C:\WINDOWS\system32\WINMM.dll
    0x76300000 - 0x7631d000      C:\WINDOWS\system32\IMM32.DLL
    0x62c20000 - 0x62c29000      C:\WINDOWS\system32\LPK.DLL
    0x73fa0000 - 0x7400b000      C:\WINDOWS\system32\USP10.dll
    0x6d2f0000 - 0x6d2f8000      c:\Program Files\Java\jdk1.5.0_07\jre\bin\hpi.dll
    0x76bc0000 - 0x76bcb000      C:\WINDOWS\system32\PSAPI.DLL
    0x6d700000 - 0x6d70c000      c:\Program Files\Java\jdk1.5.0_07\jre\bin\verify.dll
    0x6d370000 - 0x6d38d000      c:\Program Files\Java\jdk1.5.0_07\jre\bin\java.dll
    0x6d720000 - 0x6d72f000      c:\Program Files\Java\jdk1.5.0_07\jre\bin\zip.dll
    0x10000000 - 0x10033000      E:\jnis\sample.dll
    VM Arguments:
    java_command: HelloWorld
    Launcher Type: SUN_STANDARD
    Environment Variables:
    JAVA_HOME=C:\Program Files\Java\jdk1.5.0_07
    CLASSPATH=.;.;C:\PROGRA~1\JMF21~1.1E\lib\sound.jar;C:\PROGRA~1\JMF21~1.1E\lib\jmf.jar;C:\PROGRA~1\JMF21~1.1E\lib;
    PATH=C:\cygwin\usr\local\bin;C:\cygwin\bin;C:\cygwin\bin;C:\cygwin\usr\X11R6\bin;c:\WINDOWS\system32;c:\WINDOWS;c:\WINDOWS\System32\Wbem;c:\Program Files\Java\jdk1.5.0_07\bin;c:\Program Files\OPENXTRA\Ethereal;c:\Program Files\OPENXTRA\WinDump;d:\Program Files\jProbe\bin;c:\maven-2.0.6-bin\maven-2.0.6\bin;d:\Open Source\apache-ant-1.7.0\bin;d:\swtdlls;d:\Program Files\CVSNT\;c:\Program Files\OPENXTRA\WinPCap
    USERNAME=Administrator
    OS=Windows_NT
    PROCESSOR_IDENTIFIER=x86 Family 15 Model 4 Stepping 9, GenuineIntel
    --------------- S Y S T E M ---------------
    OS: Windows XP Build 2600 Service Pack 2
    CPU:total 1 family 15, cmov, cx8, fxsr, mmx, sse, sse2, ht
    Memory: 4k page, physical 515572k(238244k free), swap 1260260k(935080k free)
    vm_info: Java HotSpot(TM) Client VM (1.5.0_07-b03) for windows-x86, built on May 3 2006 01:04:38 by "java_re" with MS VC++ 6.0
    Java Code like this:
         static{
              try{
                   System.loadLibrary("sample");
              }catch(Exception e){
                   System.out.println("Can't load sample.dll");
         //Declare native method
         public native void sayHello(String name);
      public static void main(String[] args){
        HelloWorld hw=new HelloWorld();
        hw.sayHello("QUKI");
      }And C code like this:
    JNIEXPORT void JNICALL Java_HelloWorld_sayHello
      (JNIEnv *env, jobject obj, jstring s)
         /* Obtain a C-copy of the Java string */
         //printf("Hello,every one");
        const char *str = (*env)->GetStringUTFChars(env, s, 0);
         printf("Java Call C success....%s\n",*str);
    }Any one can tell me why??Thanx very much.

    const char str = (env)->GetStringUTFChars(env, s, 0);
    printf("Java Call C success....%s\n",*str);
    Any one can tell me why??Thanx very much.That asterisk(*) in front of str in the printf() statement is dereferencing the variable. Thus it is a char and not a char*. But %s requires a char*.
    EXCEPTION_ACCESS_VIOLATION (0xc0000005) Note that when you get the above, with the ...05 error, that it always means you did something incorrect with a pointer somewhere.

  • What happens to the cube performance when you have too many UDAs?

    Hi,
    what's the impact on the cube performance if you have too many UDAs associated with the same level of members? Let's say 15 UDAs for each member
    If attribute is not an option, what's another way to help alleviate the data load?

    Hi,
    Adding UDAs to the outline doesn't impact the size of Essbase database.
    I've seen cubes with over 70 UDAs. And I think UDAs is the best choice to set load rules.
    But for considering of the implication of Dynamic calculations as reporting on UDAs can be slow. Define UDAs on sparse dimensions only.

  • WLS 10.3.5 on RHEL 5.4, SocketException: Too many open files

    Hi
    I'm running Weblogic server 10.3.5 on Red Hat Enterprise Linux Server release 5.4 (Tikanga), with Java jdk1.6.0_27.
    My order handling application, when receiving client orders, needs to make outbound SOAP calls to fulfill the order. During a performance test, we got following errors:
    ####<Feb 10, 2012 2:28:41 PM ICT> <Critical> <Server> <KKMOMAPP2> <KKMOMPE2> <DynamicListenThread[Default]> <<WLS Kernel>> <> <> <1328858921806> <BEA-002616> <Failed to listen on channel "Default" on 172.24.106.81:4095, failure count: 1, failing for 0 seconds, java.net.SocketException: Too many open files>
    I monitored the java process of this application, when the "Too many open files" error happened, it had 1388 open file descriptors, among which 655 were sockets.
    I also monitored the total open file descriptors of the weblogic user account, the count was around 6300 during this error.
    These numbers are far smaller than the file limits configured on OS:
    - Under weblogic account, ulimit -n shows 65536
    - /proc/sys/fs/file-max shows 772591
    - Following lines are already in /etc/security/limits.conf
    weblogic soft nofile 65536
    weblogic hard nofile 65536
    weblogic soft nproc 16384
    weblogic hard nproc 16384
    I did another test using a simple java program to open large number of sockets under weblogic account. It has no problem to open 15,000 sockets. It seems the file descriptor limit is indeed quite high, but for some reasons, the Weblogic process fails even when it has merely 1388 open files. Are there other Linux or Weblogic parameters I should tune? Or anything else I missed?
    Thank you very much
    Ning

    Hi All,
    Any help on this issue ?
    Thank you,
    Ram

  • Short dump in alv too many parameters in perform)

    I M GETTING PROBLEM IN THIS PROGRAM AGAIN.
    Getting short dump too many paramamerets in perform
    <CODE>Report Z_50840_ALV
    Line-size 80
    Line-count 64
    Message-id ZZ
    No Standard Page Heading.
    Copyright statement *
    @ copyright 2007 by Intelligroup Inc. *
    Program Details *
    Program Name: Z_50840_ALV
    Date : 19.07.2007
    Author : Vasudevaraman V
    Description : Test Program
    Transport No:
    Change Log *
    Date :
    Author :
    Description :
    Transport No:
    Tables *
    Tables: vbrk.
    Type Pools *
    Type-Pools: SLIS.
    Variables *
    Data: GV_REPID TYPE SY-REPID.
    Structures *
    Data: BEGIN OF GIT_VBRK OCCURS 0,
    VBELN LIKE VBRK-VBELN, "Billing Document
    FKART LIKE VBRK-FKART, "Billing Type
    KNUMV LIKE VBRK-KNUMV, "Number of the document condition
    BUKRS LIKE VBRK-BUKRS, "Company code
    NETWR LIKE VBRK-NETWR, "Net value in document currency
    WAERK LIKE VBRK-WAERK, "SD document currency in basic list
    END OF GIT_VBRK,
    GIT_FCAT TYPE SLIS_T_FIELDCAT_ALV,
    WA_FCAT TYPE slis_fieldcat_alv,
    GIT_EVENTS TYPE SLIS_T_EVENT,
    WA_EVENTS TYPE SLIS_ALV_EVENT.
    Field Symbols *
    Field-symbols: <fs_xxxx>.
    Selection Screen *
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS: S_VBELN FOR VBRK-VBELN.
    PARAMETERS: LISTDISP RADIOBUTTON GROUP G1,
    GRIDDISP RADIOBUTTON GROUP G1 DEFAULT 'X'.
    SELECTION-SCREEN END OF BLOCK B1.
    Initialization *
    Initialization.
    GV_REPID = SY-REPID.
    At Selection Screen *
    At selection-screen.
    Start Of Selection *
    Start-of-selection.
    SET PF-STATUS 'ABC'(001).
    PERFORM GET_BILLING_DETAILS.
    PERFORM FIELD_CATALOGUE.
    PERFORM GET_EVENTS.
    End Of Selection *
    End-of-selection.
    PERFORM DISPLAY_BILLING_DETAILS.
    Top Of Page *
    Top-of-page.
    End Of Page *
    End-of-page.
    *& Form GET_BILLING_DETAILS
    text
    --> p1 text
    <-- p2 text
    FORM GET_BILLING_DETAILS .
    SELECT VBELN
    FKART
    KNUMV
    BUKRS
    NETWR
    WAERK
    FROM VBRK
    INTO TABLE GIT_VBRK
    WHERE VBELN IN S_VBELN.
    IF SY-SUBRC = 0.
    SORT GIT_VBRK BY VBELN.
    ENDIF.
    ENDFORM. " GET_BILLING_DETAILS
    *& Form FIELD_CATALOGUE
    text
    --> p1 text
    <-- p2 text
    FORM FIELD_CATALOGUE .
    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
    I_PROGRAM_NAME = GV_REPID
    I_INTERNAL_TABNAME = 'GIT_VBRK'
    I_STRUCTURE_NAME = I_STRUCTURE_NAME
    I_CLIENT_NEVER_DISPLAY = 'X'
    I_INCLNAME = GV_REPID
    I_BYPASSING_BUFFER = 'X'
    I_BUFFER_ACTIVE = ' '
    CHANGING
    CT_FIELDCAT = GIT_FCAT
    EXCEPTIONS
    INCONSISTENT_INTERFACE = 1
    PROGRAM_ERROR = 2
    OTHERS = 3
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM. " FIELD_CATALOGUE
    *& Form DISPLAY_BILLING_DETAILS
    text
    --> p1 text
    <-- p2 text
    FORM DISPLAY_BILLING_DETAILS .
    IF LISTDISP = 'X'.
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
    I_INTERFACE_CHECK = ' '
    I_BYPASSING_BUFFER = 'X'
    I_BUFFER_ACTIVE = ' '
    I_CALLBACK_PROGRAM = GV_REPID
    I_CALLBACK_PF_STATUS_SET = ' '
    I_CALLBACK_USER_COMMAND = ' '
    I_STRUCTURE_NAME = I_STRUCTURE_NAME
    IS_LAYOUT = IS_LAYOUT
    IT_FIELDCAT = GIT_FCAT
    IT_EXCLUDING = IT_EXCLUDING
    IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS
    IT_SORT = IT_SORT
    IT_FILTER = IT_FILTER
    IS_SEL_HIDE = IS_SEL_HIDE
    I_DEFAULT = 'X'
    I_SAVE = ' '
    IS_VARIANT = IS_VARIANT
    IT_EVENTS = GIT_EVENTS
    IT_EVENT_EXIT = IT_EVENT_EXIT
    IS_PRINT = IS_PRINT
    IS_REPREP_ID = IS_REPREP_ID
    I_SCREEN_START_COLUMN = 0
    I_SCREEN_START_LINE = 0
    I_SCREEN_END_COLUMN = 0
    I_SCREEN_END_LINE = 0
    IR_SALV_LIST_ADAPTER = IR_SALV_LIST_ADAPTER
    IT_EXCEPT_QINFO = IT_EXCEPT_QINFO
    I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
    IMPORTING
    E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER
    ES_EXIT_CAUSED_BY_USER = ES_EXIT_CAUSED_BY_USER
    TABLES
    T_OUTTAB = GIT_VBRK
    EXCEPTIONS
    PROGRAM_ERROR = 1
    OTHERS = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ELSE.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    I_INTERFACE_CHECK = ' '
    I_BYPASSING_BUFFER = 'X'
    I_BUFFER_ACTIVE = ' '
    I_CALLBACK_PROGRAM = GV_REPID
    I_CALLBACK_PF_STATUS_SET = ' '
    I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
    I_CALLBACK_TOP_OF_PAGE = ' '
    I_CALLBACK_HTML_TOP_OF_PAGE = ' '
    I_CALLBACK_HTML_END_OF_LIST = ' '
    I_STRUCTURE_NAME = I_STRUCTURE_NAME
    I_BACKGROUND_ID = ' '
    I_GRID_TITLE = I_GRID_TITLE
    I_GRID_SETTINGS = I_GRID_SETTINGS
    IS_LAYOUT = IS_LAYOUT
    IT_FIELDCAT = GIT_FCAT
    IT_EXCLUDING = IT_EXCLUDING
    IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS
    IT_SORT = IT_SORT
    IT_FILTER = IT_FILTER
    IS_SEL_HIDE = IS_SEL_HIDE
    I_DEFAULT = 'X'
    I_SAVE = ' '
    IS_VARIANT = IS_VARIANT
    IT_EVENTS = GIT_EVENTS
    IT_EVENT_EXIT = IT_EVENT_EXIT
    IS_PRINT = IS_PRINT
    IS_REPREP_ID = IS_REPREP_ID
    I_SCREEN_START_COLUMN = 0
    I_SCREEN_START_LINE = 0
    I_SCREEN_END_COLUMN = 0
    I_SCREEN_END_LINE = 0
    I_HTML_HEIGHT_TOP = 0
    I_HTML_HEIGHT_END = 0
    IT_ALV_GRAPHICS = IT_ALV_GRAPHICS
    IT_HYPERLINK = IT_HYPERLINK
    IT_ADD_FIELDCAT = IT_ADD_FIELDCAT
    IT_EXCEPT_QINFO = IT_EXCEPT_QINFO
    IR_SALV_FULLSCREEN_ADAPTER = IR_SALV_FULLSCREEN_ADAPTER
    IMPORTING
    E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER
    ES_EXIT_CAUSED_BY_USER = ES_EXIT_CAUSED_BY_USER
    TABLES
    T_OUTTAB = GIT_VBRK
    EXCEPTIONS
    PROGRAM_ERROR = 1
    OTHERS = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDIF.
    ENDFORM. " DISPLAY_BILLING_DETAILS
    *& Form GET_EVENTS
    text
    --> p1 text
    <-- p2 text
    FORM GET_EVENTS .
    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
    I_LIST_TYPE = 0
    IMPORTING
    ET_EVENTS = GIT_EVENTS
    EXCEPTIONS
    LIST_TYPE_WRONG = 1
    OTHERS = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    LOOP AT GIT_EVENTS INTO WA_EVENTS.
    CASE WA_EVENTS-NAME.
    WHEN 'USER_COMMAND'.
    WA_EVENTS-FORM = 'USER_COMMAND'.
    ENDCASE.
    MODIFY GIT_EVENTS FROM WA_EVENTS INDEX SY-TABIX.
    ENDLOOP.
    ENDFORM. " GET_EVENTS
    FORM USER_COMMAND.
    WRITE :/ 'USER_COMMAND'.
    ENDFORM.</CODE>.
    REGARDS,
    SURAJ

    I have run the program in my system and getting the following display instead of dump.
    Bill.Doc.  BillT Doc.cond.  CoCd             Net value Curr.
    90000763   B2    0000002800 1000                 0.00  DEM
    90005177   F2    0000012141 1000             5,500.00  DEM
    90005178   F2    0000012144 1000            32,838.00  DEM
    90005179   F2    0000012146 1000             6,100.00  DEM
    90005180   F2    0000012147 1000             6,100.00  DEM
    90005182   S1    0000012226 1000             5,500.00  DEM
    90005183   S1    0000012227 1000            32,838.00  DEM
    90005184   S1    0000012228 1000             6,100.00  DEM
    90005185   S1    0000012229 1000             6,100.00  DEM
    90005186   F2    0000012230 1000             6,100.00  DEM
    90005187   F2    0000012231 1000             6,100.00  DEM
    90005188   F2    0000012232 1000            32,778.00  DEM
    90005189   F2    0000012233 1000            34,354.00  DEM
    90005190   F2    0000012234 1000            19,991.00  DEM
    90005191   F2    0000012235 1000            19,719.00  DEM
    90005192   F2    0000012236 1000            43,004.00  DEM
    90005193   F2    0000012237 1000             9,242.00  DEM
    90005194   F2    0000012238 1000            12,156.00  DEM
    90005195   F2    0000012239 1000             7,294.00  DEM
    90005196   F2    0000012240 1000             9,694.00  DEM
    90005197   F2    0000012241 1000            32,838.00  DEM
    90005198   F2    0000012242 1000             9,352.00  DEM
    90005199   F2    0000012243 1000            13,013.00  DEM

  • Too many recipients found for message type ORDERS in the ALE model

    Hi all ,
    please help me to solve this issue .
    i done with ale settings .
    orders message type is used in 2 different model view for 2 different systems
    when i create po it is giving error in output  "Too many recipients found for message type ORDERS in the ALE model"
    how can i rectify this error.
    Thanks

    > orders message type is used in 2 different model view for 2 different systems
    do both of them carter diffrent needs or is it the same idoc which is being sent to diffrent systems?
    if yes, then use a single model view with noth receiver systems defined in it.
    if not, i would suggest, copying the standard idoc and create a zidoc and then use different ones for diffrent receivers....
    or u can use diff versions of the orders message type...
    say orders05 for one.... receiver and orders02 for another one....
    hope this helps!!
    Cheers!!
    Sidharth

  • Tablespace with too many extents are evil for performance

    I think the tablespace with too many extents are not bad for performance after introduction of LMT tablespace?? May be true with DMT tablespace(earlier versions). This is just observation after reading the LMT vs DMT tablespaces.
    Experts - Please comment on your thoughts.

    Indeed, I work in an environment where there is over 50 databases to be administered and so we have lots of DBAs interacting with each other.
    I'm stunned by this myth of "reorganization". Most of the DBAs move tables + rebuild indexes regularly generating huge redo  on a monthly basis. Also provoking indexes to do all the splits again generating even more redo. They claim "it helps performance a lot" however not one is able to quantify and quite justify it other than "less extents less I/O, good". Even when I bring up the existence of shrink they say "do not like it, prefer the classic move". People really have a way of holding on to their good ol' practices of Oracle 8i.
    For full table scans (which should never be done on a OLTP scenario) this extent issue would be relevant IF data on the table is the victim of large deles and Oracle hasn't re-used that space yet. If your multiblock reads is a multiple of your extent size, than there won't be any overhead of I/O call, no matter the number of your extents. For OLTP this is not relevant because Oracle will access the table via ROWID.
    I rarely have ever seen an index benefit from a rebuild significantly. In my experience what people often understand as "index fragmentation" is often just an unoptimized execution plan due to cardinality issues where oracle ends up fetching a large percentage of the table via single reads on that index.

  • ALE settings error   "Too many recipients found for message type" urgent

    Hi all ,
    please help me to solve this issue !!!!!!!!
    i done with ale settings .
    in the bd64 , orders message type is used in 2 different model view for 2 different systems
    when i create po it is giving error in output "Too many recipients found for message type ORDERS in the ALE model"
    how can i rectify this error.
    Thanks

    Hi,
    Try to redefine your distribution model to have both receivers of your message type ORDERS in one "model view".
    Regards,
    Jakub

  • Too many recipients found for message type (Distribution model)

    Hi,
    I wanna send Dilvery note using message type DESADV from a SAP system to another non-SAP System.
    I have Created port partner profile and distribution model.
    But the Problem is the same message type DESADV is used to send Dilvery from SAP System to another SAP Client.
    Idoc getting failed and throwing error stating ‘Too many recipients found for message type DESADV in the ALE model ‘.
    I am sure we can create the more than one recipients for same message types. I have done it some time back. Any help highly appreciated.
    Regards
    Raj

    This message pops up when SAP can't identify how to distribute the IDoc based on the settings in BD64. Take a look at the settings there, most likely you'll need to add a filter.
    The big ALE/EDI/IDoc book suggests that the same IDoc may be distributed to 2 different systems but specific details are not clear. It seems that one system should be configured first (it does mention a need to use a filter) and then somehow menu Edit -> Model View -> Distribute should be used.
    I've never done it myself though and have only run into that error when I missed some filter settings in BD64. Hope this helps.

  • Document contains too many nodes error when extracting xml tag name

    I Have a large xml file in which the tag contains ~: as the value.
    Now I am trying to extract all the tags which have ~: as the value and store that column using the following query and insert into a table.
    insert into space_md select distinct xmltype(extract(value(x), '/').getstringval()).getrootelement() COLUMN_NAME
    from gt_xmltype_tab gt, TABLE(XMLSequence(extract(gt.xmlfile1, '/ROWSET/ROW/*'))) x
    where instr(extract(value(x),'/').getstringval(),'~:') > 1;
    The xml file was generated using dbms_xmlgen.getxml. Table has 48 columns and around 4000 rows.
    My above insert query gave me an error of 31186 too many nodes error.
    I am using oracle version 10.2.0.3.
    Following are the set of commands I ran....
    SQL> insert into gt_xmltype_tab(xmlfile1)
    values(XMLType(bfilename('BKUP_RES','QC.xml'),nls_charset_id('AL32UTF8'))); 2
    1 row created.
    SQL> SQL>
    SQL> insert into restore_space_metadata select distinct 'QC', xmltype(extract(value(x), '/').getstringval()).getrootelement() COLUMN_NAME
    2 from gt_xmltype_tab gt, TABLE(XMLSequence(extract(gt.xmlfile1, '/ROWSET/ROW/*'))) x
    3 where instr(extract(value(x),'/').getstringval(),'~:') > 1;
    insert into restore_space_metadata select distinct 'QC', xmltype(extract(value(x), '/').getstringval()).getrootelement() COLUMN_NAME
    ERROR at line 1:
    ORA-31186: Document contains too many nodes
    Is there a better way of extracting the xml tag element name based on the xmltag content?
    There is one other table which has 172 columns but only 100 rows so it doesnt create any problem on that table.
    But this QC table has less columns but many many rows...
    Any suggestions

    There is a requiremnent of taking centain type of data backup and restore it.
    It was implemented on flat file approach which was giving errors.
    So it was implemented using XML approach.
    Read data, store in xml file and read from xml file and load it into table.
    Further, found that dbms_xmlstore is not able to handle tag only with whitespace
    and tried to use the loading xml file into xmltype table column and extract data.
    XMLTYPE column also has same problem of ignoring whitespace when used with extractvalue functions.
    So for the workaround I update xmlfile having only one more more whitespace in the tag to have ~: character once.
    After restoring data from xml to table I would run update qeury to update ~: to " ".
    Now instead of running blind update for all the tables and all the columns from ~: to " " I thouhgt whyy not create a xml file of tag having ~:
    along with its tablename.
    and thats where I found the problem of too many nodes...
    THe insert query you saw is populating table for table_name and column_name with tag having only ~: in it.
    I hope this gives you the fair idea of stuff I am doing.

Maybe you are looking for

  • Licencing on two laptops not, will not allow me to update to Adobe XI

    I purchase Adobe Professional 9 and is now updated to Acrobat XI Pro, I have a 2nd laptop which I also need to install Adobe Professional on I can get Pro 9 working but cannot get it to update to XI Pro, it will not accept the serial number. Any idea

  • How to generate unique document number ?

    Hi All, We need to generate Document Number where there should be any gap, so that we cannot use sequence. For example : Invoice Number. one possible approach like : Select MAX(InvoiceNumber)+1 from invoice, what if that table has millions of rows, i

  • How java execute thread

    Can any one tell me Which of the following statements are true 1.     To determine which thread has to execute set the priority code of the thread. 2.     Java uses a time-slicing scheduling system to determine which thread to execute. 3.     Java us

  • Best Way to Load Data in Hash Partition

    Hi, I have partitioning by Hash on a Large Table of 5 TB. We have to load Data say more than 500GB daily on that table from ETL. What is the best way to Load data into that Big Table which has hash Partition . Regards Sahil Soni

  • BB Messenger Problem

    Sorry if this has been answered before but I couldn't find it anywhere.  My bf and I both have the Curve and are on the same provider and plan.  We love the messenger service however, for some reason when we are chatting, on my screen it will say he