WTC performance

We are testing a Tuxedo8.1 to Weblogic7sp1 link thru WTC, on a Sunfire6800, 4procs-900mhz
machine.
We call from a tuxedoservice a simple EJB on java side responding very fast (1ms).
We inject 40 simultaneous users on Tuxedo (there are 40instances of the tuxedoserver
making tpcalls to WTC-EJB). The tpcall of C side responds in about 700ms under
load and 50ms in standalone! We obtain about 20TPS (config: we have 100threads
on the default exec queue in WLS and kind of default configuration in Tuxedo;
Cpu utilisation during test is low: 55%).
Do you have any clues on improving TPS with WTC?
thx,
Mihai

Thanx FYI Scott.
In fact, mea culpa, I forgot to delete the traces from WTC which were at 10000
level. Even if there were no traces in the WLS log, deleting the line from startWebLogic.sh
has increase performance to 35TPS, with an average response time of about 30ms
for the tp (same config). This is OK, it-s a good performance level.
Tx,
Mihai
Scott Orshan <[email protected]> wrote:
You'll need to tell us a lot more about the application.
A 50 ms response time equates to 20 tps. It is 1/20 of a second. Is that
what you were trying to tell us? Your Tuxedo application does a tpcall
to an EJB, and that takes 1/20 of a second?
What buffer type and size are you sending? What is the EJB doing? If
it
is only doing CPU work on a 4 CPU machine, then you shouldn't have 100
execute threads. If Tuxedo is also running on the same machine, then
you
might only want a few execute threads, to leave some CPUs available to
run the Tuxedo side of the app.
Your low CPU utilization could be caused by lock synchronization in your
EJB. Do you use synchronized code or system methods?
Can you break out the CPU ussage by CPU? Vmstat will do that for you,
and you can see if some CPUs are at 100% while others are at zero. If
one of them is at 100%, the others might be waiting for that one to
finish what it is doing. You can get a thread dump from the JVM to see
what all of the threads are doing.
If you contact Support, they can collect all of the details of your
application and configuration.
     Scott Orshan
Mihai Voineag wrote:
We are testing a Tuxedo8.1 to Weblogic7sp1 link thru WTC, on a Sunfire6800,4procs-900mhz
machine.
We call from a tuxedoservice a simple EJB on java side responding veryfast (1ms).
We inject 40 simultaneous users on Tuxedo (there are 40instances ofthe tuxedoserver
making tpcalls to WTC-EJB). The tpcall of C side responds in about700ms under
load and 50ms in standalone! We obtain about 20TPS (config: we have100threads
on the default exec queue in WLS and kind of default configurationin Tuxedo;
Cpu utilisation during test is low: 55%).
Do you have any clues on improving TPS with WTC?
thx,
Mihai

Similar Messages

  • WTC performance issue

    Here's a few mesure I've completed.
    I'm working with WLS6.1sp2/solaris5.8 - Tuxedo 6.5 - Jolt 1.2
    (service TOUPPER just return uppercased incoming buffer)
    C client calling java service published in WTC : 190 ms
    C client calling C service published in Tuxedo : 30 ms (60 ms in WS mode)
    Java Client(servlet) using WTC to call Tuxedo service : 280 ms
    Java Client(servlet) using JOLT to call Tuxedo service : 30 ms
    Is there any hope/way to improve it ?
    Has anybody better perfs ?
    Thanks.

    Sorry, the first message is with WTC TraceLevel=100000
    With tracing disabled, it's better.
    (but still far form jolt !!)
    C client calling java service published in WTC : 100 ms (130 in WS mode)
    C client calling C service published in Tuxedo : 30 ms (60 ms in WS mode)
    Java Client(servlet) using WTC to call Tuxedo service : 110 ms
    Java Client(servlet) using JOLT to call Tuxedo service : 30 ms

  • WTC FAQ

    Here are some common WTC questions and answers:
    Q1: What is the transaction story for WTC between WLS and Tuxedo and how
    does it differ from Jolt?
    A1: In version 1.0 of WTC transactions may be started in WLS and will
    "infect" Tuxedo with the same transaction. That implies that there is one
    and only one commit coordinator, and that is in WLS. In version 1.0 of WTC
    transactions originating
    in Tuxedo via WTC is not supported. In version 1.1 of WTC transactions from
    Tuxedo into WLS via WTC can be used, but only in Beta mode, as we will not
    have done the required QA of "inbound" transactions. In order to use
    inbound transactions in WTC 1.1 you will need to turn on the use of beta
    features with an attribute called "UseBetaInboundTransactions" on the WTC
    Startup class
    in WLS.
    This differs from Jolt in that while Jolt can start transactions in Tuxedo,
    these transactions are not coordinated with anything in WLS. Hence it is
    impossible to do a 2 phase commit which involves WLS resources and Tuxedo
    resources with Jolt. Since Jolt does not have any means of invoking WLS
    services transactions in that direction do not make sense.
    Q2. How does the security mapping work?
    A2: WLS and Tuxedo can share the same set of users (though they may be
    administered differently in the two systems) and the users can propagate
    their credentials from one system to the other. For example, if John Wells
    logs into WLS then the services which he invokes in Tuxedo will have all of
    the ACL permissions of John Wells as defined on the Tuxedo side.
    Furthermore, if Jolene User logs into Tuxedo then any resources she attempts
    to access in WLS via WTC will be checked against Jolene User's rights in WLS
    land.
    In order to accomplish this, a few things need to be set up:
    1. You must be using Tuxedo 7.1 or Tuxedo 8.0 for this to work. Tuxedo 6.5
    did not have the security infrastructure necessary to make this happen.
    2. In your BDMCONFIG on the Tuxedo side you will need to set ACL_POLICY and
    CREDENTIAL_POLICY to "GLOBAL" for the WLS remote domain. ACL_POLICY
    controls whether or not a domain accepts credentials coming from a remote
    domain and CREDENTIAL_POLICY controls whether or not we send credentials to
    a remote domain. (In Tuxedo 7.1 there was no CREDENTIAL_POLICY - we always
    sent the credentials to the remote domain).
    3. In your BDMCONFIG on the WLS side you must likewise specify <ACL_POLICY>
    and <CREDENTIAL_POLICY> to be "GLOBAL."
    4. On the WLS side you must also configure a <TpUsrFile> which will point
    to a file of the exact same format as the tpusr file generated by the
    various Tuxedo commands to add and delete users. (Which also happens to be
    of the same format as the unix /etc/passwd file). WTC needs this file
    because in WLS users do not have user identification numbers or group
    identification numbers. Hence we need a way to map WLS users into the
    standard Tuxedo UID/GID appkey.
    Voila! You have now set up your system such that users logged into either
    system can be given access privelidges in the other system. This is known
    as single sign-on. We are currently working on a way to better integrate
    the two user databases between WLS and Tuxedo, and one day we will have
    single administration and single-sign on!
    Q3: How is the performance of WTC?
    A3: Obviously, results will vary based on your machine, CPU, application
    (i.e., transactions/no transactions) etc...
    However, in the performance lab here we have seen WTC perform at levels that
    nearly equal Tuxedo in a similar configuration.
    Q4: What fail-over/fail-back mechanisms are there in WTC?
    A4: WTC has many of the same fail-over fail-back mechanisms which /T
    domains had. Any service can be offered by multiple remote domains, and if
    a domain link is down we will attempt all of the backup domains. In /T
    domains there was a limit of three backup remote domains, but in WTC there
    is no limit to the number of backup domains you can configure for a service.
    Furthermore, we support the connection policies of ON_STARTUP, ON_DEMAND and
    INCOMING_ONLY. If the policy is ON_STARTUP then you can also configure a
    retry interval and max-retries. We will attempt to connect to ON_STARTUP
    remote domains every retry interval for a maximum number of retries before
    giving up. If a domain is configured as ON_STARTUP or INCOMING_ONLY and the
    connection is not currently established then no services will be routed to
    that remote domain.
    Q5: What support features are available in WTC?
    A5: WTC has a tracing feature which can be enabled dynamically. If a
    customer reports a problem, support will likely ask the customer to turn
    tracing on and send a log file. This tracing facility has several levels of
    severity and can also help debug WTC applications. It is turned on by
    setting TraceLevel in the WTC startup class. The following are the defined
    levels:
    10000 - TBRIDGE Input/Output
    15000 - TBRIDGE extra information
    20000 - Gateway Input/Output (this will trace the ATMI verbs)
    25000 - Gateway extra information
    50000 - JATMI Input/Output (this will trace the low-level jatmi calls)
    55000 - JATMI extra information
    60000 - CORBA Input/Output (this will trace CORBA calls)
    65000 - CORBA extra information
    Q6: Will Jolt be deprecated?
    A6: No. There are some features of Jolt that are not covered by WTC. For
    example, the Jolt registry API are not supported by WTC. Furthermore WTC
    must run in conjunction with WLS, while Jolt can be run from Applets or from
    free-standing Java applications.
    Q7: What about JCA? Is WTC a JCA adapter?
    A7: WTC is not a JCA adapter. JCA does not define semantics for inbound
    invokations into the JCA container, but WTC allows for Tuxedo clients to
    invoke WLS EJBs. However, the jATMI object interactions are based on the
    JCA client model. BEA is currently evaluating several JCA strategies for
    connections into Tuxedo.
    Q8. What versions of Tuxedo are supported?
    A8. WTC 1.0 will support Tuxedo 6.5 and Tuxedo 8.0. WTC 1.1 (which adds
    CORBA support) will support Tuxedo 6.5 and Tuxedo 8.0. Soon after the
    release of both of these products we will certify WTC with Tuxedo 7.1.
    However, the version of Tuxedo 7.1 you will need to have will be Tuxedo 7.1
    after RP 89.
    Q9. What WLS Releases will be supported?
    A9. WTC 1.0 will be certified on WLS 6.0 SP2, WTC 1.1 will be bundled with
    WLS 6.1
    Q10. How will WTC be packaged?
    A10. WTC 1.0 will be a separately downloaded binary (one for unix, one for
    NT) that the user will have to install and configure in his/her WLS
    environment. (Configuration will consist of putting the jatmi.jar file into
    the classpath (as well as the normal BDMCONFIG configuration, of course)).
    WTC 1.1 will be bundled right in there with the WLS 6.1.
    John Wells (Aziz)
    [email protected]
    [email protected]

    References:
    http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment/thread/28f02631-2291-4f8c-875a-4fa5397536ee/
    Amalaraja Fernando,
    SharePoint Architect
    This post is provided "AS IS" with no warrenties and confers no rights.

  • WTC Questions and Answers

    Here are some common WTC questions and answers:
    Q1: What is the transaction story for WTC between WLS and Tuxedo and how
    does it differ from Jolt?
    A1: In version 1.0 of WTC transactions may be started in WLS and will
    "infect" Tuxedo with the same transaction. That implies that there is one
    and only one commit coordinator, and that is in WLS. In version 1.0 of WTC
    transactions originating
    in Tuxedo via WTC is not supported. In version 1.1 of WTC transactions from
    Tuxedo into WLS via WTC can be used, but only in Beta mode, as we will not
    have done the required QA of "inbound" transactions. In order to use
    inbound transactions in WTC 1.1 you will need to turn on the use of beta
    features with an attribute called "UseBetaFeatures" on the WTC Startup class
    in WLS.
    This differs from Jolt in that while Jolt can start transactions in Tuxedo,
    these transactions are not coordinated with anything in WLS. Hence it is
    impossible to do a 2 phase commit which involves WLS resources and Tuxedo
    resources with Jolt. Since Jolt does not have any means of invoking WLS
    services transactions in that direction do not make sense.
    Q2. How does the security mapping work?
    A2: WLS and Tuxedo can share the same set of users (though they may be
    administered differently in the two systems) and the users can propagate
    their credentials from one system to the other. For example, if John Wells
    logs into WLS then the services which he invokes in Tuxedo will have all of
    the ACL permissions of John Wells as defined on the Tuxedo side.
    Furthermore, if Jolene User logs into Tuxedo then any resources she attempts
    to access in WLS via WTC will be checked against Jolene User's rights in WLS
    land.
    In order to accomplish this, a few things need to be set up:
    1. You must be using Tuxedo 7.1 or Tuxedo 8.0 for this to work. Tuxedo 6.5
    did not have the security infrastructure necessary to make this happen.
    2. In your BDMCONFIG on the Tuxedo side you will need to set ACL_POLICY and
    CREDENTIAL_POLICY to "GLOBAL" for the WLS remote domain. ACL_POLICY
    controls whether or not a domain accepts credentials coming from a remote
    domain and CREDENTIAL_POLICY controls whether or not we send credentials to
    a remote domain. (In Tuxedo 7.1 there was no CREDENTIAL_POLICY - we always
    sent the credentials to the remote domain).
    3. In your BDMCONFIG on the WLS side you must likewise specify <ACL_POLICY>
    and <CREDENTIAL_POLICY> to be "GLOBAL."
    4. On the WLS side you must also configure a <TpUsrFile> which will point
    to a file of the exact same format as the tpusr file generated by the
    various Tuxedo commands to add and delete users. (Which also happens to be
    of the same format as the unix /etc/passwd file). WTC needs this file
    because in WLS users do not have user identification numbers or group
    identification numbers. Hence we need a way to map WLS users into the
    standard Tuxedo UID/GID appkey.
    Voila! You have now set up your system such that users logged into either
    system can be given access privelidges in the other system. This is known
    as single sign-on. We are currently working on a way to better integrate
    the two user databases between WLS and Tuxedo, and one day we will have
    single administration and single-sign on!
    Q3: How is the performance of WTC?
    A3: Obviously, results will vary based on your machine, CPU, application
    (i.e., transactions/no transactions) etc...
    However, in the performance lab here we have seen WTC perform at levels that
    nearly equal Tuxedo in a similar configuration. The performance is equal to
    or better than Jolt, and will scale much better than Jolt because of the
    concentration of network bandwidth.
    Q4: What fail-over/fail-back mechanisms are there in WTC?
    A4: WTC has many of the same fail-over fail-back mechanisms which /T
    domains had. Any service can be offered by multiple remote domains, and if
    a domain link is down we will attempt all of the backup domains. In /T
    domains there was a limit of three backup remote domains, but in WTC there
    is no limit to the number of backup domains you can configure for a service.
    Furthermore, we support the connection policies of ON_STARTUP, ON_DEMAND and
    INCOMING_ONLY. If the policy is ON_STARTUP then you can also configure a
    retry interval and max-retries. We will attempt to connect to ON_STARTUP
    remote domains every retry interval for a maximum number of retries before
    giving up. If a domain is configured as ON_STARTUP or INCOMING_ONLY and the
    connection is not currently established then no services will be routed to
    that remote domain.
    Q5: What support features are available in WTC?
    A5: WTC has a tracing feature which can be enabled dynamically. If a
    customer reports a problem, support will likely ask the customer to turn
    tracing on and send a log file. This tracing facility has several levels of
    severity and can also help debug WTC applications. It is turned on by
    setting TraceLevel in the WTC startup class. The following are the defined
    levels:
    10000 - TBRIDGE Input/Output
    15000 - TBRIDGE extra information
    20000 - Gateway Input/Output (this will trace the ATMI verbs)
    25000 - Gateway extra information
    50000 - JATMI Input/Output (this will trace the low-level jatmi calls)
    55000 - JATMI extra information
    60000 - CORBA Input/Output (this will trace CORBA calls)
    65000 - CORBA extra information
    Q6: Will Jolt be deprecated?
    A6: No. There are some features of Jolt that are not covered by WTC. For
    example, the Jolt registry API are not supported by WTC. Furthermore WTC
    must run in conjunction with WLS, while Jolt can be run from Applets or from
    free-standing Java applications.
    Q7: What about JCA? Is WTC a JCA adapter?
    A7: WTC is not a JCA adapter. JCA does not define semantics for inbound
    invokations into the JCA container, but WTC allows for Tuxedo clients to
    invoke WLS EJBs. However, the jATMI object interactions are based on the
    JCA client model. BEA is currently evaluating several JCA strategies for
    connections into Tuxedo.
    John Wells (Aziz)
    [email protected]
    [email protected]

    Q8. What versions of Tuxedo are supported?
    A8. WTC 1.0 will support Tuxedo 6.5 and Tuxedo 8.0. WTC 1.1 (which adds
    CORBA support) will support Tuxedo 6.5 and Tuxedo 8.0. Soon after the
    release of both of these products we will certify WTC with Tuxedo 7.1.
    However, the version of Tuxedo 7.1 you will need to have will be Tuxedo 7.1
    after a certain patch level, which I don't know the number of yet. I will
    attempt to keep the public informed about which patch level will be required
    in Tuxedo 7.1
    Q9. What WLS Releases will be supported?
    A9. WTC 1.0 will be certified on WLS 6.0 SP2, WTC 1.1 will be bundled with
    WLS SilverSword release (6.1?)
    Q10. How will WTC be packaged?
    A10. WTC 1.0 will be a separately downloaded binary (one for unix, one for
    NT) that the user will have to install and configure in his/her WLS
    environment. (Configuration will consist of putting the jatmi.jar file into
    the classpath (as well as the normal BDMCONFIG configuration, of course)).
    WTC 1.1 will be bundled right in there with the WLS SilverSword release.
    Q11. When will WTC go live (no more beta)?
    A11. This is a question for Jeff Cutler, but my impression is that WTC 1.0
    will be shipped in the same time-frame as the Tuxedo 8.0 release and
    obviously (see A10) WTC 1.1 will be shipped with WLS SilverSword.
    John Wells (Aziz)
    [email protected]

  • Calling one WTC service from another WTC service

    Hi,
    We have a service called COLLECT defined in our WTC server.
    Recently we've added a second service called SUM in the same WTC server.
    We were wondering if it's possible to call SUM from COLLECT, and if it is, what configuration changes should be made in order to do it?
    Currently both services are exported by the WTC server (and imported by our Tuxedo).
    Thanks,
    Shy

    Hi Shy,
    Although I haven't tried it, I'm fairly certain you cannot call a Tuxedo EJB using tpcall() within a WTC based application. What I normally advise customers to do when writing a Tuxedo EJB is to implement two separate interfaces. One is obviously the TuxedoService interface that all Tuxedo EJBs must implement. In particular you must implement the service() method that accepts a TPServiceInformation instance that provides access to the typed buffer passed to the EJB. Normally one then extracts the necessary fields or information from the typed buffer, performs whatever necessary business logic needs to be performed, and then constructs a reply typed buffer.
    What I recommend is that you separate out the business logic into a separate interface and have your class implement both interfaces. The service() method would only deal with the marshalling/unmarshalling of the information contained in the typed buffers, and leave all business processing to methods on the second interface. Then if you need to access another "service", you would use the second interface, thus saving you from all the typed buffer manipulation.
    So in your case, the business logic in the second interface of the COLLECT implementation would simply call the SUM implementations second interface (the EJB's business logic) instead of trying to call a Tuxedo service. While this helps in reuse of the business logic, it doesn't address the issue of trying to transparently move a service implementation from say Tuxedo to WLS. If that's what you are trying to do, you might try exporting the SUM service from WTC to the Tuxedo domain gateway, and then importing the SUM service from that gateway. This would likely cause a network round trip if it works, but it's something to consider.
    Another alternative is to use something like the Apache Tuscany/Java project and build your Java applications using SCA. Tuxedo SALT includes a Tuscany/Java binding extension that allows Tuscany/Java applications to transparently call Tuxedo services. The choice of whether to actually call a Tuxedo service or call a Tuscany/Java based SCA service is determine by the binding selection and not changes in your code. Just a thought...
    Regards,
    Todd Little
    Oracle Tuxedo Chief Architect

  • Enqueued messages with Tuxedo /Q and WTC

    Hi everyone,
    I have a Tuxedo /Q that through a WTC puts messages in a JMS queue in
    a Weblogic. During a period with heavy load ( +- 200 messages per
    second), the total messages in the destination queue starts to
    increase, deprecating the application response time.
    Some configurations
    • The queues are in non persistent mode
    • The connection policy in WTC and Tuxedo Domain is ON_STARTUP
    • WTC with Retry Interval and Block Time 60, keep alive and
    keep alive wait 0
    • Tuxedo 8, Weblogic 10g in RedHat 5
    Some analysis information
    • There is available threads in the Weblogic to process the
    messages, so it isn’t the problem.
    • There isn’t any enqueued packets in the network between
    tuxedo and Weblogic server
    • There is low use of CPU and memory in all machines
    I think that WTC connector hasn’t sufficient throughput to process
    the messages in the destination queue.
    Any suggestions????
    Thanks!

    Hi,
    If you are saying you are using a tBridge (JMS bridge component of WTC) redirection to take messages from Tuxedo /Q and place them on a JMS queue, then the problem is that only a single thread will process the redirection. In other words, a single thread is started to perform tpdequeue() operations on the Tuxedo /Q queue, and then put the message on a JMS queue. If you need more throughput than a single thread offers, you will need to add another redirection in the WTC configuration.
    Regards,
    Todd Little
    Oracle Tuxedo Chief Architect

  • WTC call from Tuxedo gets to WebLogic but fails (WebLogic 10.0)

    I set up a WTC connector and I am trying to invoke an EJB on my WebLogic server (10.0).
    I followed the quick-start example from the documentation.
    I enabled "debug mode" and "user data dump".
    When I perform the call from Tuxedo to my EJB I see that the inbound message, but on the Tuxedo server side I get an error "can not find service TOUPPER".
    What can cause this behaviour?

    I don't get new log messages after adding the new system property.
    I'll describe the configuration I am using:
    In Weblogic:
    - I created a WTC server called "mySimpapp"
    - I created a Local AP with name "myLocalAp", ID "TDOM2" and network address "//wlserver:12378"
    - I created a remote AP named "myRemoteAp" with the ID "TDOM1", local acces point "myLocalAp"
    and network address "//tuxserver:1234"
    - I created an exported service named "mySimapp" with local access point "myLocalAp",
    EJB name "toUpper#com.wtc.poc.ToUpperBean" and remote name "TOUPPER"
    In Tuxedo, this is my DM config file:
    *DM_RESOURCES
    VERSION=U22
    *DM_LOCAL_DOMAINS
    TDOM1 GWGRP=GROUP2
    TYPE=TDOMAIN
    DOMAINID="TDOM1"
    BLOCKTIME=20
    MAXDATALEN=56
    MAXRDOM=89
    DMTLOGDEV="/home/user1/tuxedo/dmt"
    DMTLOGNAME="DMTLOG_TUXDOM"
    *DM_REMOTE_DOMAINS
    TDOM2 TYPE=TDOMAIN
    DOMAINID="TDOM2"
    *DM_TDOMAIN
    TDOM1 NWADDR="//tuxserver:1234"
    TDOM2 NWADDR="//wlserver:12378"
    *DM_REMOTE_SERVICES
    TOUPPER RDOM="TDOM2"
    In my WL server log file I see that the connectino was established and I see the inbound request, but then it looks like the request was discarded (nothing in the log file).
    Can this information help you understand the problem?
    Thanks

  • WTC Configuration with WLST script

    Hi,
    Can any one help me to write WLST script to create WTC configuration.
    Regards,
    Siva Prasad Reddy

    Use the MBean reference manual to find the appropriate configuration mbeans. Use the WLST reference manual to find the appropriate command syntax
    - connect
    - edit
    - startEdit
    at domain level
    wserver = cmo.createWTCServer("wtcname")
    then either cd into the created WTCServer or use the returned wserver
    then call methods like createWTCLocalTuxDom and createWTCRemoteTuxDom as needed.
    cd into those subdirectories as needed.
    you may also want to turn on WLST console recording and perform the steps in the WLS console. a WLST script will be generated that you can then further customize.

  • Quote Report - Performance

    I have created a quote report with narratives around the opportunity, opportunity-product, and account information. The report contains a pivot table.
    I'm getting very hit or miss performance results on the report. Sometimes the report runs faster for all opportunities compared to when its prompted with an opty id from a web link.
    Any thoughts? There doesn't seem to be one column that makes a difference.
    Also this is not an analytical report as the quotes need to be generated same day.

    Hi Shaik,
    Please remove all the join select queries and use 'for all entries' varaiant of the select query. Check whether you can create and use indexes in ur queries.
    Thanks and Regards,
    Saurabh Chhatre

  • IS NOT NULL and performance

    I have a performance issue with a query - it would be something like -
    select col1,col2, sum(col3), get_val(col_4)
    from table1
    where
    get_val(col_4) is not null
    group by col1,col2, get_val(col_4)
    I have simplified this but it is something similar. This works great - performance is great. Now I commented out the where clause as I needed to populate null values - and that's it the query does not retrieve the resultset - it keeps running forever. With the where clause it comes back in 60 seconds. There is only one row out of 560 rows that has null value for col_4 which i need to display.
    Any help is appreciated.

    The only difference I notice between the two sqls is HASH(UNIQUE) -
    with IS NOT NULL in where clause -
    SELECT STATEMENT     ALL_ROWS     1598     1     209
    HASH(UNIQUE)          1598     1     209
    HASH(GROUP BY)          1598     1     209
    When is not null is removed from the where clause -
    SELECT STATEMENT     ALL_ROWS     1598     1     206
    HASH(GROUP BY)          1598     1     206          
    I'm guessing that the index is being used in the first scenario and not in the second. Any idea/suggestion as to how to over come this?          
    Thanks

  • Issues with WebForm performance

    Hi,
    We had migrated a new application from UAT to PROD and we encounter webform performance issues with the following actions..
    After login, the first form you open it is
    always slow. After this you can switch from one form to another without a
    delay.
    Then once you change any data – the next time
    you access a form it gets delayed.
    The point to be noted is, it doesnt have any performance issues in the UAT environment and the configuration settings,essbase cache settings are all the same. We did try to move the EPM system to a new server to see if this is a hardware issue but no luck, the performance issues still exist. The consumption of the CPU/memory has been checked and it is proved that the form opening delay has nothing to do with lack of memory.
    The JVM head settings is set up at 4GB which is infact higher than that of the UAT environment(2GB).
    runs on Windows server2008,11.1.2.1.600 EPM serve, has planning,reporting,foundation on one server (32GB ram) and essbase on another server (32GB ram). Any help is appreciated.
    Please find attached the planning logs below and there is nothing mentioned in the hyperionplanning error logs.-----------------------------------------------------------------------------------------------------------------------------------------------------------------
    <Nov 5, 2013 8:05:43 PM CET> <Info> <Security> <BEA-090905> <Disabling CryptoJ JCE Provider self-integrity check for better startup performance. To enable this check, specify -Dweblogic.security.allowCryptoJDefaultJCEVerification=true>
    <Nov 5, 2013 8:05:43 PM CET> <Info> <Security> <BEA-090906> <Changing the default Random Number Generator in RSA CryptoJ from ECDRBG to FIPS186PRNG. To disable this change, specify -Dweblogic.security.allowCryptoJDefaultPRNG=true>
    <Nov 5, 2013 8:05:44 PM CET> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Oracle JRockit(R) Version R28.0.2-11-135406-1.6.0_20-20100624-2119-windows-x86_64 from Oracle Corporation>
    <Nov 5, 2013 8:05:46 PM CET> <Info> <Management> <BEA-141107> <Version: WebLogic Server 10.3.4.0  Fri Dec 17 20:47:33 PST 2010 1384255 >
    <Nov 5, 2013 8:05:48 PM CET> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING>
    <Nov 5, 2013 8:05:48 PM CET> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool>
    <Nov 5, 2013 8:05:48 PM CET> <Notice> <Log Management> <BEA-170019> <The server log file C:\Oracle\Middleware\user_projects\domains\EPMSystem\servers\Planning0\logs\Planning0.log is opened. All server side log events will be written to this file.>
    <Nov 5, 2013 8:06:22 PM CET> <Notice> <Security> <BEA-090082> <Security initializing using security realm myrealm.>
    <Nov 5, 2013 8:06:28 PM CET> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STANDBY>
    <Nov 5, 2013 8:06:28 PM CET> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING>
    Calling getConnection()
      return weblogic.management.jmx.mbeanserver.WLSMBeanServer@327b36fb
    Calling getDomainConfiguration()
    Calling getConnection()
      return weblogic.management.jmx.mbeanserver.WLSMBeanServer@327b36fb
    Calling getRuntimeService()
    Calling getConnection()
      return weblogic.management.jmx.mbeanserver.WLSMBeanServer@327b36fb
      return com.bea:Name=RuntimeService,Type=weblogic.management.mbeanservers.runtime.RuntimeServiceMBean
      return com.bea:Name=EPMSystem,Type=Domain
    Calling getConnection()
      return weblogic.management.jmx.mbeanserver.WLSMBeanServer@327b36fb
    Domain location is 'C:\Oracle\Middleware\user_projects\domains\EPMSystem'
    Calling getRuntimeService()
      return com.bea:Name=RuntimeService,Type=weblogic.management.mbeanservers.runtime.RuntimeServiceMBean
    Calling getConnection()
      return weblogic.management.jmx.mbeanserver.WLSMBeanServer@327b36fb
    Calling getConnection()
      return weblogic.management.jmx.mbeanserver.WLSMBeanServer@327b36fb
    Calling getConnection()
      return weblogic.management.jmx.mbeanserver.WLSMBeanServer@327b36fb
    Calling getConnection()
      return weblogic.management.jmx.mbeanserver.WLSMBeanServer@327b36fb
    Checking C:\Oracle\Middleware\user_projects\domains\EPMSystem\servers\Planning0\registry_update.xml file
    EPM_ORACLE_HOME: C:\Oracle\Middleware\EPMSystem11R1
    Template for PLANNING#11.1.2.0: C:\Oracle\Middleware\EPMSystem11R1\common\templates\applications\epm_planning_11.1.2.1.jar
    Dependencies for C:\Oracle\Middleware\EPMSystem11R1\common\templates\applications\epm_planning_11.1.2.1.jar: []
    BPMUI shared webapp not referenced from PLANNING#11.1.2.0
    Application name: PLANNING#11.1.2.0
    Application source: HyperionPlanning.ear
    Server name: Planning0
    Server port: 8300
    Server SSL port: 8343
    Application context: HyperionPlanning
    Registry product type: PLANNING_PRODUCT
    Registry physical web application type: PLANNING_WEBAPP
    weblogic.Name property is 'Planning0', seems to be WebLogic mode
    registry.isRegistryDatabaseCreated()true
    Registry was initialized sucessfully
    Executing pre custom update for PLANNING#11.1.2.0
    EPM_ORACLE_INSTANCE: C:\Oracle\Middleware\user_projects\epmsystem1
    Physical Web App found
    Web app already linked to some application server: false
    The registry was not modifyed because it already containse all sturctures
    Web app is already linked to the logical web app
    No needs to run custom updater for PLANNING#11.1.2.0
    loggingUpdatePLANNING.block file exist or the system is running in the Fusion mode, skipping logging.xml configuration
    Planning locale: en_US
    <Nov 5, 2013 8:06:39 PM CET> <Notice> <Log Management> <BEA-170027> <The Server has established connection with the Domain level Diagnostic Service successfully.>
    <Nov 5, 2013 8:06:39 PM CET> <Notice> <Cluster> <BEA-000197> <Listening for announcements from cluster using unicast cluster messaging>
    <Nov 5, 2013 8:06:39 PM CET> <Notice> <Cluster> <BEA-000133> <Waiting to synchronize with other running members of Planning.>
    <Nov 5, 2013 8:07:09 PM CET> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to ADMIN>
    <Nov 5, 2013 8:07:09 PM CET> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RESUMING>
    <Nov 5, 2013 8:07:09 PM CET> <Notice> <Cluster> <BEA-000162> <Starting "async" replication service with remote cluster address "null">
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <Security> <BEA-090171> <Loading the identity certificate and private key stored under the alias DemoIdentity from the jks keystore file C:\Oracle\MIDDLE~1\WLSERV~1.3\server\lib\DemoIdentity.jks.>
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the jks keystore file C:\Oracle\MIDDLE~1\WLSERV~1.3\server\lib\DemoTrust.jks.>
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the jks keystore file C:\Oracle\Middleware\jrockit_160_20\jre\lib\security\cacerts.>
    <Nov 5, 2013 8:07:10 PM CET> <Alert> <Security> <BEA-090152> <Demo trusted CA certificate is being used in production mode: [
      Version: V3
      Subject: CN=CACERT, OU=FOR TESTING ONLY, O=MyOrganization, L=MyTown, ST=MyState, C=US
      Signature Algorithm: MD5withRSA, OID = 1.2.840.113549.1.1.4
      Key:  Sun RSA public key, 512 bits
      modulus: 9550192877869244258838480703390456015046425375252278279190673063544122510925482179963329236052146047356415957587628011282484772458983977898996276815440753
      public exponent: 65537
      Validity: [From: Thu Mar 21 21:12:27 CET 2002,
                   To: Tue Mar 22 21:12:27 CET 2022]
      Issuer: CN=CACERT, OU=FOR TESTING ONLY, O=MyOrganization, L=MyTown, ST=MyState, C=US
      SerialNumber: [    33f10648 fcde0deb 4199921f d64537f4]
    Certificate Extensions: 1
    [1]: ObjectId: 2.5.29.15 Criticality=true
    KeyUsage [
      Key_CertSign
      Algorithm: [MD5withRSA]
      Signature:
    0000: 9D 26 4C 29 C8 91 C3 A7   06 C3 24 6F AE B4 F8 82  .&L)......$o....
    0010: 80 4D AA CB 7C 79 46 84   81 C4 66 95 F4 1E D8 C4  .M...yF...f.....
    0020: E9 B7 D9 7C E2 23 33 A4   B7 21 E0 AA 54 2B 4A FF  .....#3..!..T+J.
    0030: CB 21 20 88 81 21 DB AC   90 54 D8 7D 79 63 23 3C  .! ..!...T..yc#<
    ] The system is vulnerable to security attacks, since it trusts certificates signed by the demo trusted CA.>
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <Security> <BEA-090898> <Ignoring the trusted CA certificate "CN=thawte Primary Root CA - G3,OU=(c) 2008 thawte\, Inc. - For authorized use only,OU=Certification Services Division,O=thawte\, Inc.,C=US". The loading of the trusted certificate list raised a certificate parsing exception PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11.>
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <Security> <BEA-090898> <Ignoring the trusted CA certificate "CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE". The loading of the trusted certificate list raised a certificate parsing exception PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11.>
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <Security> <BEA-090898> <Ignoring the trusted CA certificate "CN=T-TeleSec GlobalRoot Class 2,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE". The loading of the trusted certificate list raised a certificate parsing exception PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11.>
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <Security> <BEA-090898> <Ignoring the trusted CA certificate "CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R3". The loading of the trusted certificate list raised a certificate parsing exception PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11.>
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <Security> <BEA-090898> <Ignoring the trusted CA certificate "OU=Security Communication RootCA2,O=SECOM Trust Systems CO.\,LTD.,C=JP". The loading of the trusted certificate list raised a certificate parsing exception PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11.>
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <Security> <BEA-090898> <Ignoring the trusted CA certificate "CN=VeriSign Universal Root Certification Authority,OU=(c) 2008 VeriSign\, Inc. - For authorized use only,OU=VeriSign Trust Network,O=VeriSign\, Inc.,C=US". The loading of the trusted certificate list raised a certificate parsing exception PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11.>
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <Security> <BEA-090898> <Ignoring the trusted CA certificate "CN=KEYNECTIS ROOT CA,OU=ROOT,O=KEYNECTIS,C=FR". The loading of the trusted certificate list raised a certificate parsing exception PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11.>
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <Security> <BEA-090898> <Ignoring the trusted CA certificate "CN=GeoTrust Primary Certification Authority - G3,OU=(c) 2008 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US". The loading of the trusted certificate list raised a certificate parsing exception PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11.>
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure[3]" is now listening on 127.0.0.1:8343 for protocols iiops, t3s, CLUSTER-BROADCAST-SECURE, ldaps, https.>
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure[1]" is now listening on fe80:0:0:0:0:5efe:a53:4816:8343 for protocols iiops, t3s, CLUSTER-BROADCAST-SECURE, ldaps, https.>
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure[4]" is now listening on 0:0:0:0:0:0:0:1:8343 for protocols iiops, t3s, CLUSTER-BROADCAST-SECURE, ldaps, https.>
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 10.83.72.22:8300 for protocols iiop, t3, CLUSTER-BROADCAST, ldap, snmp, http.>
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <Server> <BEA-002613> <Channel "Default[3]" is now listening on 127.0.0.1:8300 for protocols iiop, t3, CLUSTER-BROADCAST, ldap, snmp, http.>
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <Server> <BEA-002613> <Channel "Default[4]" is now listening on 0:0:0:0:0:0:0:1:8300 for protocols iiop, t3, CLUSTER-BROADCAST, ldap, snmp, http.>
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <Server> <BEA-002613> <Channel "Default[2]" is now listening on fe80:0:0:0:0:ffff:ffff:fffe:8300 for protocols iiop, t3, CLUSTER-BROADCAST, ldap, snmp, http.>
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <Server> <BEA-002613> <Channel "Default[1]" is now listening on fe80:0:0:0:0:5efe:a53:4816:8300 for protocols iiop, t3, CLUSTER-BROADCAST, ldap, snmp, http.>
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure[2]" is now listening on fe80:0:0:0:0:ffff:ffff:fffe:8343 for protocols iiops, t3s, CLUSTER-BROADCAST-SECURE, ldaps, https.>
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure" is now listening on 10.83.72.22:8343 for protocols iiops, t3s, CLUSTER-BROADCAST-SECURE, ldaps, https.>
    <Nov 5, 2013 8:07:10 PM CET> <Warning> <Server> <BEA-002611> <Hostname "WIPLPRD01.svc.unicc.org", maps to multiple IP addresses: 10.83.72.22, 0:0:0:0:0:0:0:1>
    <Nov 5, 2013 8:07:10 PM CET> <Notice> <WebLogicServer> <BEA-000330> <Started WebLogic Managed Server "Planning0" for domain "EPMSystem" running in Production Mode>
    <Nov 5, 2013 8:07:12 PM CET> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING>
    <Nov 5, 2013 8:07:12 PM CET> <Notice> <WebLogicServer> <BEA-000360> <Server started in RUNNING mode>
    using java.library.path: C:\Oracle\Middleware\EPMSystem11R1/products/Planning/lib64;C:\Oracle\Middleware\EPMSystem11R1/bin;C:\Oracle\Middleware\EPMSystem11R1/common/EssbaseRTC-64/11.1.2.0/bin;C:\Oracle\MIDDLE~1\patch_wls1034\profiles\default\native;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\native\win\x64;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\bin;C:\Oracle\MIDDLE~1\modules\ORGAPA~1.1\bin;C:\Oracle\MIDDLE~1\JROCKI~1\jre\bin;C:\Oracle\MIDDLE~1\JROCKI~1\bin;C:\Oracle\MIDDLE~1\WLSERV~1.3\server\native\win\x64\oci920_8
    EPM_ORACLE_HOME (C:\Oracle\Middleware\EPMSystem11R1) is set from JVM property "EPM_ORACLE_HOME".
    using Java property for Hyperion Home C:\Oracle\Middleware\EPMSystem11R1
    EPM_ORACLE_INSTANCE (C:\Oracle\Middleware\user_projects\epmsystem1) is set from JVM property[EPM_ORACLE_INSTANCE].
    Reaquired task list lease: Tue Nov 05 20:11:49 CET 2013: 1383678709156
    Seeking ESAPI.properties
      Found in 'org.owasp.esapi.resources' directory: C:\Oracle\Middleware\EPMSystem11R1\products\Planning\config\esapi\ESAPI.properties
    Loaded 'ESAPI.properties' properties file
    Seeking validation.properties
      Found in 'org.owasp.esapi.resources' directory: C:\Oracle\Middleware\EPMSystem11R1\products\Planning\config\esapi\validation.properties
    Loaded 'validation.properties' properties file
    Seeking antisamy-esapi.xml
      Found in 'org.owasp.esapi.resources' directory: C:\Oracle\Middleware\EPMSystem11R1\products\Planning\config\esapi\antisamy-esapi.xml
    EnterData_Inner Processing Time:424
    2013-11-05 20:14:47,454 INFO Thread-51 calcmgr.launch - Date/Time Started: 2013/11/05:20:14:47.452 CET Server/Application/Database: localhost/1415_WP/AWP Business Rule Name: WPA_Count By Planning user: wipoadmin Values entered for run-time prompts: [Variable] Wrk_Scenario:"Work_Plan_2014"[Variable] Funds:"Regular"[Variable] Units:"0001"
    - Date/Time Started: 2013/11/05:20:14:47.452 CET Server/Application/Database: localhost/1415_WP/AWP Business Rule Name: WPA_Count By Planning user: wipoadmin Values entered for run-time prompts: [Variable] Wrk_Scenario:"Work_Plan_2014"[Variable] Funds:"Regular"[Variable] Units:"0001"
    2013-11-05 20:14:54,066 INFO Thread-51 calcmgr.launch - Date/Time Ended: 2013/11/05:20:14:54.066 CET Server/Application/Database: localhost/1415_WP/AWP Business Rule Name: WPA_Count By Planning user: wipoadmin.
    - Date/Time Ended: 2013/11/05:20:14:54.066 CET Server/Application/Database: localhost/1415_WP/AWP Business Rule Name: WPA_Count By Planning user: wipoadmin.
    EnterData_Inner Processing Time:64
    EnterData_Inner Processing Time:15
    EnterData_Inner Processing Time:359
    EnterData_Inner Processing Time:2
    EnterData_Inner Processing Time:53
    EnterData_Inner Processing Time:4
    EnterData_Inner Processing Time:7
    EPM_ORACLE_INSTANCE (C:\Oracle\Middleware\user_projects\epmsystem1) is set from JVM property[EPM_ORACLE_INSTANCE].
    EPM_ORACLE_INSTANCE (C:\Oracle\Middleware\user_projects\epmsystem1) is set from JVM property[EPM_ORACLE_INSTANCE].
    EPM_ORACLE_INSTANCE (C:\Oracle\Middleware\user_projects\epmsystem1) is set from JVM property[EPM_ORACLE_INSTANCE].
    Setting HBR Mode to: 2
    In lookupBRLWA()
    Found HBR product = ESSBASE_PRODUCT
    Found HBR product = ESSBASE_PRODUCT
    Found HBR product = ESSBASE_PRODUCT
    HBR LWA Component = Default
    Default HBR = http://WIPLPRD01.svc.unicc.org:19000/eas
    In getDBDetails()
    Found HBR product = ESSBASE_PRODUCT
    In lookupBRLWA()
    Found HBR product = ESSBASE_PRODUCT
    Found HBR product = ESSBASE_PRODUCT
    =2013-11-05 20:35:08,234 WARN [ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)' com.hyperion.hbr.security.HbrSecurityAPI - Error retrieving user by identity
    - Error retrieving user by identity
    Embedded HBR initialized.
    EnterData_Inner Processing Time:6
    EnterData_Inner Processing Time:867
    [Tue Nov 05 20:35:33 CET 2013] Planning successfully notified HBR repository.
    EnterData_Inner Processing Time:7
    2013-11-05 20:40:38,613 INFO Thread-67 calcmgr.launch - Date/Time Started: 2013/11/05:20:40:38.606 CET Server/Application/Database: localhost/1415_WP/AWP Business Rule Name: NonPersonnel_Calc By Planning user: wipoadmin Values entered for run-time prompts: [Variable] Funds:"Regular"[Variable] Units:"0001"[Variable] Wrk_Scenario:"Work_Plan_2014"
    - Date/Time Started: 2013/11/05:20:40:38.606 CET Server/Application/Database: localhost/1415_WP/AWP Business Rule Name: NonPersonnel_Calc By Planning user: wipoadmin Values entered for run-time prompts: [Variable] Funds:"Regular"[Variable] Units:"0001"[Variable] Wrk_Scenario:"Work_Plan_2014"
    2013-11-05 20:40:47,241 INFO Thread-67 calcmgr.launch - Date/Time Ended: 2013/11/05:20:40:47.241 CET Server/Application/Database: localhost/1415_WP/AWP Business Rule Name: NonPersonnel_Calc By Planning user: wipoadmin.
    - Date/Time Ended: 2013/11/05:20:40:47.241 CET Server/Application/Database: localhost/1415_WP/AWP Business Rule Name: NonPersonnel_Calc By Planning user: wipoadmin.
    EnterData_Inner Processing Time:44
    EnterData_Inner Processing Time:2
    EnterData_Inner Processing Time:525
    EnterData_Inner Processing Time:1
    Reaquired task list lease: Tue Nov 05 20:41:49 CET 2013: 1383680509246

    I already replied there but it seems no moderator is willing to approve my reply so it never shows up.
    So I'll try replying in here instead:
    I never thought it could be an emulator issue, I thought I had done something wrong to begin with. So I take having performance issues with tiled layer is not a common problem I suppose?
    I'm using MOTODEV SDK platform, A1200 model (motorola).

  • Apple DVI to Video Adapter performance issues in Lion

    I'm an active Apple DVI to Video Adapter user for a couple of years already and everything worked perfectly well until I've upgraded to Lion.
    Everything on my TV screen is lagging now, even mouse pointer, and there is no change to watch any movie like that.
    Does anyone have the same issue? Maybe someone could give me an advice of what could I do in order to improve graphics performance on TV screen using Apple DVI to Video Adapter? I'm using late 2007 MBP with 8600M GT video adapter.

    I am having the exact same problem.  I have a late 2007 MBP. I use it everyday where I teach.  I use the adapter to project on a large white screen using S-Video.  SInce the Lion update, it is very slow and has even completely crashed my computer a few times.  I realize the MBP is getting a bit dated, but the difference between Snow Leopard & Lion is remarkable.

  • Vendor performance report

    hai
    how to create an vendor performance report which display purchase order issued to a vendor, material supplied delivery times, payment terms, prices during a period of time.
        for this report what are the tables and fields we have to use pls give me sample report..
                  thank you..

    Hi,
    Against the RFQ's vendor submit quotations and the Based on the RFQ's data we have to compare the different Vendors with the respective data like terms and prices
    Fetch the data of all RFQ's from EKKO and EKPO tables
    and take the EKKO-KNUMV field and pass to KONV table and fetch the different prices based on the Condition types  for each RFQ and put it in a tabular format  and compare.
    see the sample code
    *& Report  ZRFQ_COMP
    *& Quotation Comparison Report
    REPORT  ZRFQ_COMP no standard page heading line-size 187 line-count 35.
    *&Tables
    Tables : ekko,
             ekpo,
             konp,
             a016.
    *&Data Decleration
    Data : v_pos type i value 19.
    Data : begin of it_rfq occurs 0,
            ebeln type ekko-ebeln,
            ekorg type ekko-ekorg,
            lifnr type ekko-lifnr,
            matnr type ekpo-matnr,
            WERKS type ekpo-WERKS,
           end of it_rfq.
    Data : begin of it_a016 occurs 0,
            ebeln type ekko-ebeln,
            knumh type knumh,
           end of it_a016.
    Data : begin of it_a363 occurs 0,
            werks type werks,
            lifnr type lifnr,
            matnr type matnr,
            knumh type knumh,
           end of it_a363.
    Data : begin of it_pr_details occurs 0,
            knumh type knumh,
            kschl type kschl,
            kbetr type kwert,
           end of it_pr_details.
    Data : begin of it_final occurs 0,
            ebeln type ebeln,
            lifnr type lifnr,
            name1 type lfa1-name1,
            pb00  type kbetr,
            zpac  type kbetr,
            zb00  type kbetr,
            ZIN1  type kbetr,
            JEC1  type kbetr,
            JHX1  type kbetr,
            JMOP  type kbetr,
            JMX1  type kbetr,
            JMX3  type kbetr,
            JSEP  TYPE KBETR,
            JVRD  type kbetr,
           end of it_final.
    Data : begin of it_vendorname occurs 0,
            lifnr type lifnr,
            name1 type lfa1-name1,
           end of it_vendorname.
    *&Selection Screen
    Selection-screen: begin of block blk1 with frame title text-001.
      parameters     : p_matnr like ekpo-matnr obligatory.
      select-options : s_ebeln for ekko-ebeln,
                       s_ekorg for ekko-ekorg,
                       s_lifnr for ekko-lifnr.
    Selection-screen: end of block blk1.
    *&Start-of-Selection.
    Start-of-selection.
      Select ekko~ebeln
             ekko~ekorg
             ekko~lifnr
             ekpo~matnr
             ekpo~werks
        into table it_rfq
        from ekko
       inner join ekpo
          on ekkoebeln eq ekpoebeln
        where ekko~ebeln in s_ebeln
          and ekko~ekorg in s_ekorg
          and ekko~lifnr in s_lifnr
          and ekpo~matnr eq p_matnr
          and ekko~bstyp eq 'A'.
      if sy-subrc eq 0.
    *--> Condition number from A tables.
      Perform get_connum.
    *--> Getting the Pricing Details from Konp Table.
      Perform get_prices.
    *--> Populate Vendor Name.
      Perform pop_vendor_name.
    *--> Populating the Final Internal table for Report.
      Perform pop_final_tab.
      else.
       message 'Purchase Document does not exist' type 'E'.
      endif.
    *&End-of-Selection.
    End-of-Selection.
    write :/ sy-vline,
           2 'Vendor Number',
           19 sy-vline.
    v_pos = 19.
    loop at it_final.
      write at v_pos sy-vline.
      v_pos = v_pos + 1.
      write at v_pos it_final-lifnr.
      v_pos = v_pos + 35.
    endloop.
    write at: v_pos sy-vline,
              /(v_pos) sy-uline.
    write :/ sy-vline,
           2 'Gross Price',
           19 sy-vline.
    v_pos = 19.
    loop at it_final.
      write at v_pos sy-vline.
      v_pos = v_pos + 20.
      write at v_pos it_final-pb00.
      v_pos = v_pos + 16.
    endloop.
    write at: v_pos sy-vline,
              /(v_pos) sy-uline.
    write :/ sy-vline,
           2 'Packing & Forward',
           19 sy-vline.
    v_pos = 19.
    loop at it_final.
      write at v_pos sy-vline.
      v_pos = v_pos + 20.
      write at v_pos it_final-zpac.
      v_pos = v_pos + 16.
    endloop.
    write at: v_pos sy-vline,
              /(v_pos) sy-uline.
    write :/ sy-vline,
           2 'Surcharge',
           19 sy-vline.
    v_pos = 19.
    loop at it_final.
      write at v_pos sy-vline.
      v_pos = v_pos + 20.
      write at v_pos it_final-zb00.
      v_pos = v_pos + 16.
    endloop.
    write at: v_pos sy-vline,
              /(v_pos) sy-uline.
    write :/ sy-vline,
           2 'Installation',
           19 sy-vline.
    v_pos = 19.
    loop at it_final.
      write at v_pos sy-vline.
      v_pos = v_pos + 20.
      write at v_pos it_final-zin1.
      v_pos = v_pos + 16.
    endloop.
    write at: v_pos sy-vline,
              /(v_pos) sy-uline.
    write :/ sy-vline,
           2 'Ed cess on BED%',
           19 sy-vline.
    v_pos = 19.
    loop at it_final.
      write at v_pos sy-vline.
      v_pos = v_pos + 20.
      write at v_pos it_final-jec1.
      v_pos = v_pos + 16.
    endloop.
    write at: v_pos sy-vline,
              /(v_pos) sy-uline.
    write :/ sy-vline,
           2 'A/P Secess set off',
           19 sy-vline.
    v_pos = 19.
    loop at it_final.
      write at v_pos sy-vline.
      v_pos = v_pos + 20.
      write at v_pos it_final-jhx1.
      v_pos = v_pos + 16.
    endloop.
    write at: v_pos sy-vline,
              /(v_pos) sy-uline.
    write :/ sy-vline,
           2 'Basic Excise Duty',
           19 sy-vline.
    v_pos = 19.
    loop at it_final.
      write at v_pos sy-vline.
      v_pos = v_pos + 20.
      write at v_pos it_final-zpac.
      v_pos = v_pos + 16.
    endloop.
    write at: v_pos sy-vline,
              /(v_pos) sy-uline.
    write :/ sy-vline,
           2 'A/P BED set off',
           19 sy-vline.
    v_pos = 19.
    loop at it_final.
      write at v_pos sy-vline.
      v_pos = v_pos + 20.
      write at v_pos it_final-jmx1.
      v_pos = v_pos + 16.
    endloop.
    write at: v_pos sy-vline,
              /(v_pos) sy-uline.
    write :/ sy-vline,
           2 'Ecess % set off',
           19 sy-vline.
    v_pos = 19.
    loop at it_final.
      write at v_pos sy-vline.
      v_pos = v_pos + 20.
      write at v_pos it_final-jmx3.
      v_pos = v_pos + 16.
    endloop.
    write at: v_pos sy-vline,
              /(v_pos) sy-uline.
    write :/ sy-vline,
           2 'Sec ED Cess on BED',
           19 sy-vline.
    v_pos = 19.
    loop at it_final.
      write at v_pos sy-vline.
      v_pos = v_pos + 20.
      write at v_pos it_final-jsep.
      v_pos = v_pos + 16.
    endloop.
    write at: v_pos sy-vline,
              /(v_pos) sy-uline.
    write :/ sy-vline,
           2 'VAT%',
           19 sy-vline.
    v_pos = 19.
    loop at it_final.
      write at v_pos sy-vline.
      v_pos = v_pos + 20.
      write at v_pos it_final-jvrd.
      v_pos = v_pos + 16.
    endloop.
    write at: v_pos sy-vline,
              /(v_pos) sy-uline.
    *&Top-of-Page.
    Top-of-Page.
    format color 1.
    Write: 'Material Number :' color 1, p_matnr color 1.
    loop at it_final.
      v_pos = v_pos + 1.
      v_pos = v_pos + 35.
    endloop.
    write at: /(v_pos) sy-uline,/ sy-vline,2 'Vendor Name'.
    v_pos = 19.
    loop at it_final.
      write at v_pos sy-vline.
      v_pos = v_pos + 1.
      write at v_pos it_final-name1.
      v_pos = v_pos + 35.
    endloop.
    write at: v_pos sy-vline,
              /(v_pos) sy-uline.
    *&      Form  get_connum
          Condition number from A tables
    form get_connum .
        Select EVRTN
               knumh
          from a016
          into table it_a016
           for all entries in it_rfq
         where EVRTN eq it_rfq-ebeln.
        Select werks
               lifnr
               matnr
               knumh
          from a363
          into table it_a363
           for all entries in it_rfq
         where werks eq it_rfq-werks
           and lifnr eq it_rfq-lifnr
           and matnr eq it_rfq-matnr.
    endform.                    " get_connum
    *&      Form  get_prices
          Getting the Pricing Details from Konp Table.
    form get_prices .
      if not it_a016[] is initial.
        select knumh
               kschl
               kbetr
          from konp
          into table it_pr_details
           for all entries in it_a016
         where knumh eq it_a016-knumh.
      endif.
      if not it_a363[] is initial.
        select knumh
               kschl
               kbetr
          from konp
    appending table it_pr_details
           for all entries in it_a016
         where knumh eq it_a016-knumh.
      endif.
    endform.                    " get_prices
    *&      Form  pop_final_tab
          Populating the Final Internal table for Report
    form pop_final_tab .
    data : l_subrc like sy-subrc.
      sort it_a016 by ebeln.
      loop at it_rfq.
        clear l_subrc.
        read table it_a016 with key ebeln = it_rfq-ebeln
        binary search.
        if sy-subrc eq 0.
          loop at it_pr_details where knumh eq it_a016-knumh.
            it_final-ebeln = it_rfq-ebeln.
            it_final-lifnr = it_rfq-lifnr.
            read table it_vendorname with
            key lifnr = it_rfq-lifnr.
            it_final-name1 = it_vendorname-name1.
            case it_pr_details-kschl.
            when 'PBOO'.
              it_final-pb00 = it_pr_details-kbetr.
              if it_pr_details-kbetr eq 0.
               clear it_final.
               continue.
              endif.
            when 'ZPAC'.
              it_final-zpac = it_pr_details-kbetr.
            when 'ZB00'.
              it_final-ZB00 = it_pr_details-kbetr.
            when 'ZIN1'.
              it_final-ZIN1 = it_pr_details-kbetr.
            endcase.
          endloop.
        else.
          l_subrc = sy-subrc.
        endif.
        read table it_a363 with key lifnr = it_rfq-lifnr
                                    werks = it_rfq-werks
                                    matnr = it_rfq-matnr.
        if sy-subrc eq 0.
          loop at it_pr_details where knumh eq it_a016-knumh.
            it_final-ebeln = it_rfq-ebeln.
            it_final-lifnr = it_rfq-lifnr.
            read table it_vendorname with
            key lifnr = it_rfq-lifnr.
            it_final-name1 = it_vendorname-name1.
            case it_pr_details-kschl.
            when 'JEC1'.
              it_final-JEC1 = it_pr_details-kbetr.
            when 'JHX1'.
              it_final-JHX1 = it_pr_details-kbetr.
            when 'JMOP'.
              it_final-JMOP = it_pr_details-kbetr.
            when 'JMX1'.
              it_final-JMX1 = it_pr_details-kbetr.
            when 'JMX3'.
              it_final-JMX3 = it_pr_details-kbetr.
            when 'JSEP'.
              it_final-JSEP = it_pr_details-kbetr.
            when 'JVRD'.
              it_final-JVRD = it_pr_details-kbetr.
            endcase.
          endloop.
        elseif l_subrc ne 0.
       continue.
        endif.
        append it_final.
        clear  it_final.
      endloop.
    endform.                    " pop_final_tab
    *&      Form  pop_vendor_name
          Populate Vendor Name
    form pop_vendor_name .
      if not it_rfq[] is initial.
      Select lifnr
             name1
        from lfa1
        into table it_vendorname
       where lifnr eq it_rfq-lifnr.
      endif.
    endform.                    " pop_vendor_name
    Reward points if useful
    Regards
    Anji

  • FI-CA events to improve performance

    Hello experts,
    Does anybody use the FI-CA events to improve the extraction performance for datasources 0FC_OP_01 and 0FC_CI_01 (open and cleared items)?
    It seems that this specific exits associated to BW events have been developped especially to improve performance.
    Any documentation, guide should be appreciate.
    Thanks.
    Thibaud.

    Thanks to all for the replies
    @Sybrand
    Please answer first whether the column is stored in a separate lobsegment.
    No. Table,Index,LOB,LOB index uses the same TS. I missed adding this point( moving to separate TS) as part of table modifications.
    @Hemant
    There's a famous paper / blog post about CLOBs and Database Flashback. If I find it, I'll post the URL.
    Is this the one you are referring to
    http://laimisnd.wordpress.com/2011/03/25/lobs-and-flashback-database-performance/
    By moving the CLOB column to different block size , I will test the performance improvement it gives and will share the results.
    We dont need any data from this table. XML file contains details about finger prints and once the application server completes the job , XML data is deleted from this table.
    So no need of backup/recovery operations for this table. Client will be able to replay the transactions if any problem occurs.
    @Billy
    We are not performing XML parsing on DB side. Gets the XML data from client -> insert into table -> client selects from table -> Upon successful completion of the Job from client ,XML data gets deleted.
    Regarding binding of LOB from client side, will check on that side also to reduce round trips.
    By changing the blocksize, I can keep db_32K_cache_size=2G and keep this table in CACHE. If I directly put my table to CACHE, it will age out all other operation from buffer which makes things worse for us.
    This insert is part of transaction( Registration of a finger print) and this is the only statement taking time as of now compared to other statements in the transaction.
    Thanks,
    Arun

  • Report performance is very slow

    Hi all,
    I have a table with 25 million rows. I create a report on this table in which i need to use the following expression
    ifnull(abc_accr_int_val,0)+ifnull(xyz_mar_val_lcy,0)
    and this experession is group by asset description but the report output time is very high.Further there is no index on these columns in the database.
    Please guide me that did my approach is right ??? if no what is the right approach
    Regards

    Hi,
    Thanks for such a beautiful and informative answers I really appriciated it.
    I catch the problem and now want to share with U. As u know my prompt is on Date Column but I dont want to show this coloumn in my report.I only want that a user give a date and two columns are shown in report 1) asset_desc 2) total sum (which is sum of 2 columns as i discussed in this thread).
    Now before...after creating the prompt on Date field I edit the report view and delete this coloumn (Date) because I only want above 2 colomns and not Date column in my report. But all sorting is performed on date bec it is in prompt (where clause). When I add Date column in my report (to show date col) the speed of the report is like sql and data fetching speed same like sql. Now tell me is there any way that I delete this col from my report but it exist in answer criteria table ??????
    I have 19 Asset Desc which return by sql and answers request.
    Regards

Maybe you are looking for

  • IPhone remote for iPad

    Hi there Does anyone know if it's possible to set up the iPhone as a remote for the iPad? I have my music collection on my iPad which is plugged into my home hifi and would like to be able to make music selections on the iPad using the iPhone as a re

  • The removed photo albums in iWeb are not removed from my website.

    I have removed a few photo albums from my web site in iWeb and added none. When uploading the changes to my website it still shows all the albums only the links of the removed albums are not valid any more. How can I get the albums completely removed

  • Dial up access crashes after SB Audigy 2Zs installat

    My Audigy 2ZS sound card seems to work fine, although I'm just starting to explore the options. My problem is that since I installed this product, I experience a hard crash (blue screen) whenever I try to go online. I only have dial-up, but both aol

  • How to make a long  horizontal bar absolutely level horizontal? (Or vertica

    How can I ascertain that a long horizontal bar that I am placing on a page is absolutely horizontal and not at all tilting right or left? At this point I want the checking to be done with the Metric Inspector and the click toggles. Lorna in Southern

  • Email management

    How do you create a new folder in your email so you can move emails to it.