OSB Service Processing time

Dear all,
we have requirement to find out OSB Service Processing time. can you please suggest how we can get this information using OSB Console or if ther are any JMX Api available to get this data.
requirement is: to know the actual execution time in OSB Request processing time.(should not include target system processing time)
thanks in advance.
pr

PR,
You can use inbuilt service monitoring (Oracle Service Bus Monitoring Framework) functionality to find out the same...
http://docs.oracle.com/cd/E17904_01/doc.1111/e15867/monitoring_ops.htm#i1086439
Service Health tab shows Service level metrics in the Oracle Service Bus Dashboard...
http://docs.oracle.com/cd/E17904_01/doc.1111/e15867/monitoring_ops.htm#i1107760
Hope it helps !!
Regards,
Abhinav Gupta

Similar Messages

  • OSB Service Response times

    Hi,
    How do we monitor the response time measurement of each service invocation? I am aware that OSB provides Service Health by which Avg Response times can be monitored.
    However I am looking for any OSB native capability that will provide start time, end time, response time for each instance of service invocation. Is there a way to do this in OSB in a native way without custom logging start time, end time in the service message flow itself?
    Thanks

    I think that what you need is a sort of access logging functionality. This feature is provided out of the box by WebLogic Server:
    http://edocs.bea.com/wls/docs103/config_wls/web_server.html#wp1059425
    Above all, look at extended log format. I guess you will find it useful.
    If you won't be happy with this feature, you can still think about using a web server (or anything else that can log for you) as a proxy in front of OSB. That's what I prefer personally. For example using Apache HTTP Server (with WebLogic plugin) will provide you with capabilities to log anything you want.

  • OSB - Service Invocation instance response times

    Hi,
    In my research and discussion with OSB vendor team, I found there is no product feature to gather statistics on per invocation response times for a OSB service.
    My requirement is to gather per invocation response time of service. I am contemplating few ways of doing this
    1. Java call outs before the start and end of service.
    Downside of this approach is in my composite service (composing 10 biz services) with challenging response time requirements, it might be a over head to wrap each biz service with java call outs for measurements. Any thots?
    2. There is a report feature in OSB. How about using SNMP traps for reporting the start and ends. I am wondering if this is any better than java call outs which might be synchronous I/O operation.
    Do you folks see alternate approaches?
    TIA

    I think that generally it's not a good idea to modify production logic (code or configuration) to gather any statistics. It may look simple, but there is still possibility of unexpected failure that would cause failure of your service. Not to mention complexity of such a step.*
    I totally agree.
    This kind of data should be gathered from your infrastructure components. I know that OSB doesn't provide such a feature, but if you have your services published on HTTP protocol, than you can always use some kind of proxy server. In our company, we use feature-rich Apache HTTP server for many reasons. Response time logging is one of such reasons.*
    Interesting. Thanks. This approach might help gather stats on the Proxy services. However the biz services composed inside proxy may not get the stats.
    Another possibility is to use a specialized component. I think that OWSM can be useful. However, I don't have any experience with it and it could be overkill considering your needs. http://www.oracle.com/technology/products/webservices_manager/index.html*
    We are looking into OWSM, as you rightly said, wanted to keep it simple without OWSM.
    Thanks

  • Java client for OSB service

    Hi All,
    We have to talk to OSB11g proxy service which is created as Any Soap service (url: http://myosb.firmname.com:7001/osb-ws)
    I have java client applications which need to consume this proxy service built on top of OSB by providing the necessary inputs.
    Typically we get wsdl url's and then we use Jdeveloper to create web service client proxies to generate client side web service artifacts and call the web service.
    But I am confused here as to how can I get a handle to the OSB service from a java client. The OSB developers on the project tell me they don't have and cannot provide a WSDL based URL.
    What are the general practices for consuming OSB proxy service from java client apps. Google search result did not yield much help.
    Please let me know your thoughts.
    Regards,

    Hi Anuj,
    Thanks for reply. As u guys mentioned that about the URL I have rechecked the URL and realized the port number which I was using that was Admin Server Port while environment contains two servers Admin and Managed both. I have change the Port Number from Admin to Managed now its hitting the Service but now another problem I start facing that I need to pass a big XML as input request to that OSB Proxy Service. I have two different code where I am attaching the input request in two different ways but none of them is passing that request to URL and in both cases I am getting default response from URL.
    Here is the Code, Code1 through Core Java:
    ===============================================================================================
    package retriggerpsftorder;
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.net.URL;
    import java.net.URLConnection;
    import java.net.URLEncoder;
    public class MyTest {
    public MyTest() {
    System.out.println("Constructor executing");
    System.out.println("JAVA Version : " + System.getProperty("JAVA.VERSION"));
    public static void main(String arga[]) {
    try {
    // Construct data
    String data = URLEncoder.encode("key1", "UTF-8") + "=" + URLEncoder.encode("<migrateOrder>\n" +
    " <migrateOrderId>51c797d61dd211b2818a</migrateOrderId>\n" +
    " <createCustomer>false</createCustomer>\n" +
    " <createBillingAccount>false</createBillingAccount>\n" +
    " <Customer>\n" +
    " <ID>\n" +
    " </PIN>\n" +
    "     </customerAccountNumber\"></customerAccountNumber\">\n" +
    " </externalIdentifier>\n" +
    " </ID>\n" +
    " <creditClass>W</creditClass>\n" +
    " </Customer>\n" +
    " <Account>\n" +
    " <name>Gurwinder Singh</name>\n" +
    " <ID>\n" +
    " <PIN>1987</PIN>\n" +
    "     <billingAccountNumber>695909361</billingAccountNumber>\n" +
    " </ID>\n" +
    " </Account>\n" +
    " <CustomerOrder>\n" +
    " <customerOrderPartyReference>\n" +
    " <MSISDN>61425265789</MSISDN>\n" +
    " </customerOrderPartyReference>\n" +
    " <orderSource>\n" +
    " <templateName>AUP1057_AU10357_24_DATA_0113</templateName>\n" +
    " </orderSource>\n" +
    " <typeCode>Connect</typeCode>\n" +
    " <futureSubmitDate>2011-02-28</futureSubmitDate>\n" +
    " <cancelOpenOrdersIndicator>false</cancelOpenOrdersIndicator>\n" +
    " <lineItem actionCode=\"Add\" priorityRanking=\"1\">\n" +
    " <product ID=\"AUX221\" type=\"SAMID\" attributeCount=\"19\">\n" +
    " <attribute>\n" +
    " <name>Accept Code</name>\n" +
    " <value>Accept 5</value>\n" +
    " </attribute>\n" +
    " </product>\n" +
    " </lineItem>\n" +
    " <lineItem actionCode=\"Add\" priorityRanking=\"2\">\n" +
    " <product ID=\"OFF0018\" type=\"SAMID\" attributeCount=\"1\">\n" +
    " <attribute>\n" +
    " <name>Period Override</name>\n" +
    " <value>24</value>\n" +
    " </attribute>\n" +
    " </product>\n" +
    " </lineItem>\n" +
    " <lineItem actionCode=\"Allocate\" priorityRanking=\"3\">\n" +
    " <equipment ID=\"012645002053476\" type=\"Handset\" />\n" +
    " </lineItem>\n" +
    " <lineItem actionCode=\"Allocate\" priorityRanking=\"4\">\n" +
    " <resource ID=\"89610300000905636996\" type=\"SIM\" />\n" +
    " </lineItem>\n" +
    " <externalOrderReference>\n" +
    " <serviceID>75055433</serviceID>\n" +
    " <customerID>921092224696621123154029260421</customerID>\n" +
    " <serviceStartDate>2009-02-10</serviceStartDate>\n" +
    " <serviceRatePlan>X3Cap $29 24m($29min-35cFF)</serviceRatePlan>\n" +
    " <agreementNumber>VHU0029215</agreementNumber>\n" +
    " <accountNumber>3382437469</accountNumber>\n" +
    " <migrationType>Loyalty Handset Upgrade Acq</migrationType>\n" +
    " <receiveMarketingInfoOverrideIndicator>false</receiveMarketingInfoOverrideIndicator>\n" +
    " </externalOrderReference>\n" +
    " <orderSalesReference>\n" +
    " <dealerReferenceID>D3641</dealerReferenceID>\n" +
    " <trailingCommissionRatePlan>MUPR9</trailingCommissionRatePlan>\n" +
    " <trailingCommisionDealerReference>D3734</trailingCommisionDealerReference>\n" +
    " </orderSalesReference>\n" +
    " </CustomerOrder>\n" +
    " <ContactManagementActivity>\n" +
    " <activityCategory>Proof of Purchase - Mig from 3</activityCategory>\n" +
    " <activityType>Migration from 3</activityType>\n" +
    " <activityDescription>Proof of Purchase Information</activityDescription>\n" +
    " <activityComment>MSISDN: 0425265789354610026170561</activityComment>\n" +
    " </ContactManagementActivity>\n" +
    "</migrateOrder>\n", "UTF-8");
    //data += "&" + URLEncoder.encode("key2", "UTF-8") + "=" + URLEncoder.encode("value2", "UTF-8");
    System.out.println("Data going for Request : "+data);
    // Send data
    URL url = new URL("http://172.22.161.101:8017/app/mig3/migrate/MigrateOrder");
    URLConnection conn = url.openConnection();
    conn.setDoOutput(true);
    OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
    wr.write(data);
    wr.flush();
    // Get the response
    BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    int i=0;
    while ((line = rd.readLine()) != null) {
    System.out.println("Values of Line : "+ i + " : "+ line);// Process line...
    i++;
    wr.close();
    rd.close();
    } catch (Exception e) {
    =========================================
    Code 1 Response
    Values of Line : 0 : <?xml version="1.0" encoding="UTF-8"?>
    Values of Line : 1 : <migrateOrderReply><statusCode>Failed</statusCode><errorReturn><errorCode>CORE_SYS_GENERIC</errorCode><errorMessage>Unexpected System exception</errorMessage></errorReturn></migrateOrderReply>
    Process exited with exit code 0.
    Note: The above response message is the default response message, even if u not pass any input parameter then also the above message will come.
    ==========================================================================================================
    Code 2 : Using Servlet
    package retriggerpsftorder;
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.Servlet;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.http.client.HttpClient;
    import org.apache.commons.httpclient.HttpConnection;
    import org.apache.commons.httpclient.HttpState;
    import org.apache.commons.httpclient.NameValuePair;
    import org.apache.commons.httpclient.URI;
    import org.apache.commons.httpclient.methods.PostMethod;
    import org.apache.commons.httpclient.methods.RequestEntity;
    import org.apache.http.client.HttpClient;
    public class GIFTProcess extends HttpServlet implements Servlet {
    private static final String CONTENT_TYPE =
    "text/html; charset=windows-1252";
    public void init(ServletConfig config) throws ServletException {
    super.init(config);
    public void doGet(HttpServletRequest req,
    HttpServletResponse resp) throws ServletException,
    IOException {
    resp.setContentType(CONTENT_TYPE);
    PrintWriter out = resp.getWriter();
    try {
    NameValuePair nvpRtn =
    new NameValuePair("body", "<migrateOrder>\n" +
    " <migrateOrderId>51c797d61dd211b2818a</migrateOrderId>\n" +
    " <createCustomer>false</createCustomer>\n" +
    " <createBillingAccount>false</createBillingAccount>\n" +
    " <Customer>\n" + " <ID>\n" +
    " </PIN>\n" +
    "     </customerAccountNumber\"></customerAccountNumber\">\n" +
    " </externalIdentifier>\n" +
    " </ID>\n" +
    " <creditClass>W</creditClass>\n" +
    " </Customer>\n" + " <Account>\n" +
    " <name>Gurwinder Singh</name>\n" +
    " <ID>\n" + " <PIN>1987</PIN>\n" +
    "     <billingAccountNumber>695909361</billingAccountNumber>\n" +
    " </ID>\n" + " </Account>\n" +
    " <CustomerOrder>\n" +
    " <customerOrderPartyReference>\n" +
    " <MSISDN>61425265789</MSISDN>\n" +
    " </customerOrderPartyReference>\n" +
    " <orderSource>\n" +
    " <templateName>AUP1057_AU10357_24_DATA_0113</templateName>\n" +
    " </orderSource>\n" +
    " <typeCode>Connect</typeCode>\n" +
    " <futureSubmitDate>2011-02-28</futureSubmitDate>\n" +
    " <cancelOpenOrdersIndicator>false</cancelOpenOrdersIndicator>\n" +
    " <lineItem actionCode=\"Add\" priorityRanking=\"1\">\n" +
    " <product ID=\"AUX221\" type=\"SAMID\" attributeCount=\"19\">\n" +
    " <attribute>\n" +
    " <name>Accept Code</name>\n" +
    " <value>Accept 5</value>\n" +
    " </attribute>\n" +
    " </product>\n" + " </lineItem>\n" +
    " <lineItem actionCode=\"Add\" priorityRanking=\"2\">\n" +
    " <product ID=\"OFF0018\" type=\"SAMID\" attributeCount=\"1\">\n" +
    " <attribute>\n" +
    " <name>Period Override</name>\n" +
    " <value>24</value>\n" +
    " </attribute>\n" +
    " </product>\n" + " </lineItem>\n" +
    " <lineItem actionCode=\"Allocate\" priorityRanking=\"3\">\n" +
    " <equipment ID=\"012645002053476\" type=\"Handset\" />\n" +
    " </lineItem>\n" +
    " <lineItem actionCode=\"Allocate\" priorityRanking=\"4\">\n" +
    " <resource ID=\"89610300000905636996\" type=\"SIM\" />\n" +
    " </lineItem>\n" +
    " <externalOrderReference>\n" +
    " <serviceID>75055433</serviceID>\n" +
    " <customerID>921092224696621123154029260421</customerID>\n" +
    " <serviceStartDate>2009-02-10</serviceStartDate>\n" +
    " <serviceRatePlan>X3Cap $29 24m($29min-35cFF)</serviceRatePlan>\n" +
    " <agreementNumber>VHU0029215</agreementNumber>\n" +
    " <accountNumber>3382437469</accountNumber>\n" +
    " <migrationType>Loyalty Handset Upgrade Acq</migrationType>\n" +
    " <receiveMarketingInfoOverrideIndicator>false</receiveMarketingInfoOverrideIndicator>\n" +
    " </externalOrderReference>\n" +
    " <orderSalesReference>\n" +
    " <dealerReferenceID>D3641</dealerReferenceID>\n" +
    " <trailingCommissionRatePlan>MUPR9</trailingCommissionRatePlan>\n" +
    " <trailingCommisionDealerReference>D3734</trailingCommisionDealerReference>\n" +
    " </orderSalesReference>\n" +
    " </CustomerOrder>\n" +
    " <ContactManagementActivity>\n" +
    " <activityCategory>Proof of Purchase - Mig from 3</activityCategory>\n" +
    " <activityType>Migration from 3</activityType>\n" +
    " <activityDescription>Proof of Purchase Information</activityDescription>\n" +
    " <activityComment>MSISDN: 0425265789354610026170561</activityComment>\n" +
    " </ContactManagementActivity>\n" +
    "</migrateOrder>\n");
    NameValuePair[] nvpout = { nvpRtn };
    HttpConnection httpConn = new HttpConnection("172.22.161.101", 8017);
    System.out.println("httpConn : " + httpConn.getHost() + " getPost: " + httpConn.getPort());
    httpConn.open();
    System.out.println("Is Connection Open? --> " + httpConn.isOpen());
    PostMethod postMethod = new PostMethod();
    postMethod.setPath("http://172.22.161.101:8017/app/mig3/migrate/MigrateOrder");
    System.out.println("postMethod.getPath() : " + postMethod.getPath());
    //postMethod.setQueryString("http://172.22.161.101:8017/app/mig3/migrate/MigrateOrder");
    //System.out.println("getQueryString : " + postMethod.getQueryString());
    //System.out.println("postMethod.getParams() : " + postMethod.getParams());
    postMethod.setRequestBody(nvpout);
    System.out.println("validate--> " + postMethod.validate());
    postMethod.execute(new HttpState(), httpConn);
    System.out.println("isRequestSent --> " + postMethod.isRequestSent());
    System.out.println("statusLine--> " + postMethod.getStatusLine());
    String serviceResponse = postMethod.getResponseBodyAsString();
    System.out.println("Response from Call : " + serviceResponse);
    } catch (Exception e) {
    out.println("Error Occured during the process.");
    e.printStackTrace();
    ==========================================================================================
    Code 2 Response -----
    C:\Oracle\Middleware\SOASuite101351\jdk\bin\javaw.exe -jar C:\jdevstudio10135\j2ee\home\admin.jar ormi://10.161.1.169:23891 oc4jadmin **** -updateConfig
    11/03/02 15:30:19 WARNING: Shared-library oracle.expression-evaluator:10.1.3.1 is closing, but is imported by adf.oracle.domain:10.1.3.1, adf.generic.domain:10.1.3.1.
    2/03/2011 15:30:19 com.oracle.corba.ee.impl.orb.ORBServerExtensionProviderImpl preInitApplicationServer
    WARNING: ORB ignoring configuration changes. Restart OC4J to apply new ORB configuration.
    Ready message received from Oc4jNotifier.
    Embedded OC4J startup time: 7765 ms.
    Target URL -- http://10.161.1.169:8988/JAVAProject-RetriggerPSFTOrder-context-root/giftprocess
    ERROR: Unable to connect to JQS service: connection refused
    11/03/02 15:30:22 httpConn : 172.22.161.101 getPost: 8017
    11/03/02 15:30:22 Is Connection Open? --> true
    11/03/02 15:30:22 postMethod.getPath() : http://172.22.161.101:8017/app/mig3/migrate/MigrateOrder
    11/03/02 15:30:22 validate--> true
    11/03/02 15:30:22 isRequestSent --> true
    11/03/02 15:30:22 statusLine--> HTTP/1.1 200 OK
    2/03/2011 15:30:22 org.apache.commons.httpclient.HttpConnection releaseConnection
    WARNING: HttpConnectionManager is null. Connection cannot be released.
    11/03/02 15:30:22 Response from Call : <?xml version="1.0" encoding="UTF-8"?>
    <migrateOrderReply><statusCode>Failed</statusCode><errorReturn><errorCode>CORE_SYS_GENERIC</errorCode><errorMessage>Unexpected System exception</errorMessage></errorReturn></migrateOrderReply>
    ==================================================================================
    If u find any thing wrong then please let me know.
    Any reply is highly appreciated.
    Thanks Manish

  • Performance turing sca and osb services from developer perspective..

    I am a developer developing sca composites and osb services. My services are taking 2 sec avg. I need to reduce the amount of time taken by
    these services.
    What are the various steps to be taken to tune SCA composites and OSB services?

    Specific to OSB, please refer to http://download.oracle.com/docs/cd/E21764_01/core.1111/e10108/osb.htm#BABCIEAH
    Also, you can enable monitoring on Proxy Services @ Action level (@ Operational settings) and analyze the places where its taking the most of the processing time and accordingly try optimizing those activities.
    Thanks,
    Patrick

  • How to reduce process time in report

    Hi all..
    Is there any technique to reduce process time in report on programmer side??
    Plz help me...

    Hi
    check this and ensure that your code is as per the stds
    1) Dont use nested select statements
    2) If possible use for all entries in addition
    3) In the where addition make sure you give all the primary key
    4) Use Index for the selection criteria.
    5) You can also use inner joins
    6) You can try to put the data from the first select statement into an Itab and then in order to select the data from the second table use for all entries in.
    7) Use the runtime analysis SE30 and SQL Trace (ST05) to identify the performance and also to identify where the load is heavy, so that you can change the code accordingly
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5d0db4c9-0e01-0010-b68f-9b1408d5f234
    ABAP performance depends upon various factors and in devicded in three parts:
    1. Database
    2. ABAP
    3. System
    Run Any program using SE30 (performance analys) to improve performance refer to tips and trics section of SE30, Always remember that ABAP perfirmance is improved when there is least load on Database.
    u can get an interactive grap in SE30 regarding this with a file.
    also if u find runtime of parts of codes then use :
    Switch on RTA Dynamically within ABAP Code
    *To turn runtim analysis on within ABAP code insert the following code
    SET RUN TIME ANALYZER ON.
    *To turn runtim analysis off within ABAP code insert the following code
    SET RUN TIME ANALYZER OFF.
    Always check the driver internal tables is not empty, while using FOR ALL ENTRIES
    Avoid for all entries in JOINS
    Try to avoid joins and use FOR ALL ENTRIES.
    Try to restrict the joins to 1 level only ie only for tables
    Avoid using Select *.
    Avoid having multiple Selects from the same table in the same object.
    Try to minimize the number of variables to save memory.
    The sequence of fields in 'where clause' must be as per primary/secondary index ( if any)
    Avoid creation of index as far as possible
    Avoid operators like <>, > , < & like % in where clause conditions
    Avoid select/select single statements in loops.
    Try to use 'binary search' in READ internal table. Ensure table is sorted before using BINARY SEARCH.
    Avoid using aggregate functions (SUM, MAX etc) in selects ( GROUP BY , HAVING,)
    Avoid using ORDER BY in selects
    Avoid Nested Selects
    Avoid Nested Loops of Internal Tables
    Try to use FIELD SYMBOLS.
    Try to avoid into Corresponding Fields of
    Avoid using Select Distinct, Use DELETE ADJACENT
    Check the following Links
    Re: performance tuning
    Re: Performance tuning of program
    http://www.sapgenie.com/abap/performance.htm
    http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_PerformanceAnalysisTools.asp
    check the below link
    http://www.sap-img.com/abap/performance-tuning-for-data-selection-statement.htm
    See the following link if it's any help:
    http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_PerformanceAnalysisTools.asp
    Check also http://service.sap.com/performance
    and
    books like
    http://www.sap-press.com/product.cfm?account=&product=H951
    http://www.sap-press.com/product.cfm?account=&product=H973
    http://www.sap-img.com/abap/more-than-100-abap-interview-faqs.htm
    http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_PerformanceAnalysisTools.asp
    Performance tuning for Data Selection Statement
    http://www.sap-img.com/abap/performance-tuning-for-data-selection-statement.htm
    Debugger
    http://help.sap.com/saphelp_47x200/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
    http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc
    http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm
    Run Time Analyser
    http://help.sap.com/saphelp_47x200/helpdata/en/c6/617cafe68c11d2b2ab080009b43351/content.htm
    SQL trace
    http://help.sap.com/saphelp_47x200/helpdata/en/d1/801f7c454211d189710000e8322d00/content.htm
    CATT - Computer Aided Testing Too
    http://help.sap.com/saphelp_47x200/helpdata/en/b3/410b37233f7c6fe10000009b38f936/frameset.htm
    Test Workbench
    http://help.sap.com/saphelp_47x200/helpdata/en/a8/157235d0fa8742e10000009b38f889/frameset.htm
    Coverage Analyser
    http://help.sap.com/saphelp_47x200/helpdata/en/c7/af9a79061a11d4b3d4080009b43351/content.htm
    Runtime Monitor
    http://help.sap.com/saphelp_47x200/helpdata/en/b5/fa121cc15911d5993d00508b6b8b11/content.htm
    Memory Inspector
    http://help.sap.com/saphelp_47x200/helpdata/en/a2/e5fc84cc87964cb2c29f584152d74e/content.htm
    ECATT - Extended Computer Aided testing tool.
    http://help.sap.com/saphelp_47x200/helpdata/en/20/e81c3b84e65e7be10000000a11402f/frameset.htm
    Just refer to these links...
    performance
    Performance
    Performance Guide
    performance issues...
    Performance Tuning
    Performance issues
    performance tuning
    performance tuning
    You can go to the transaction SE30 to have the runtime analysis of your program.Also try the transaction SCI , which is SAP Code Inspector.
    1 Always check the driver internal tables is not empty, while using FOR ALL ENTRIES
    2 Avoid for all entries in JOINS
    3 Try to avoid joins and use FOR ALL ENTRIES.
    4 Try to restrict the joins to 1 level only ie only for 2 tables
    5 Avoid using Select *.
    6 Avoid having multiple Selects from the same table in the same object.
    7 Try to minimize the number of variables to save memory.
    8 The sequence of fields in 'where clause' must be as per primary/secondary index ( if any)
    9 Avoid creation of index as far as possible
    10 Avoid operators like <>, > , < & like % in where clause conditions
    11 Avoid select/select single statements in loops.
    12 Try to use 'binary search' in READ internal table. Ensure table is sorted before using BINARY SEARCH.
    13 Avoid using aggregate functions (SUM, MAX etc) in selects ( GROUP BY , HAVING,)
    14 Avoid using ORDER BY in selects
    15 Avoid Nested Selects
    16 Avoid Nested Loops of Internal Tables
    17 Try to use FIELD SYMBOLS.
    18 Try to avoid into Corresponding Fields of
    19 Avoid using Select Distinct, Use DELETE ADJACENT.
    Regards
    Anji

  • Error in File IC Work Order Report_v3-3: Max processing time or Max records

    Hello Friends,
                          While running the Crystal report in Business Object Infoview, I am getting the below mentioned error when i am trying to go to the next page or trying to export all pages of report into PDF and any other format. I can see the first page in output and can export 1st page into PDF.
    2010-12-29 17:28:05
    com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: Error in File IC Work Order Report_v3-3:
    Max processing time or Max records limit reached---- Error code:-2147215357 Error code name:internal
         at com.crystaldecisions.sdk.occa.report.lib.ReportSDKException.throwReportSDKException(Unknown Source)
         at com.crystaldecisions.sdk.occa.managedreports.ps.internal.f.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.managedreports.ps.internal.f.getPage(Unknown Source)
         at com.businessobjects.report.web.event.q.a(Unknown Source)
         at com.businessobjects.report.web.event.q.a(Unknown Source)
         at com.businessobjects.report.web.event.bq.a(Unknown Source)
         at com.businessobjects.report.web.event.bt.broadcast(Unknown Source)
         at com.businessobjects.report.web.event.ak.a(Unknown Source)
         at com.businessobjects.report.web.a.p.if(Unknown Source)
         at com.businessobjects.report.web.e.a(Unknown Source)
         at com.businessobjects.report.web.e.a(Unknown Source)
         at com.businessobjects.report.web.e.if(Unknown Source)
         at com.crystaldecisions.report.web.viewer.CrystalReportViewerUpdater.a(Unknown Source)
         at com.crystaldecisions.report.web.ServerControl.processHttpRequest(Unknown Source)
         at com.crystaldecisions.report.web.viewer.CrystalReportViewerServlet.do(Unknown Source)
         at com.crystaldecisions.report.web.viewer.CrystalReportViewerServlet.doPost(Unknown Source)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
         at java.lang.Thread.run(Thread.java:595)
    Please Help.
    Thanks,
    Ziad Khan

    Ok it looks to me that there are more than 20000 rows in your backend system that have to be fetched.
    You can change this limit in the Central Management Console . Login as administrator and go to Servers . Double-click on the Crystal Processign server and change the value in the field Database Records Read When Previewing or Refreshing (0 for unlimited) according to your needs. AFter the change you have to restart the Crystal processing server.
    Regards,
    Stratos

  • Changing Default  "Keep Alive" & " Max Processing Time" values in SMICM

    Dear Experts
    As you aware the default values in SMICM --> Go to --> Services The default values "Keep Alive" & " Max Processing Time" of services like HTTP & HTTPS is 30 sec & 60 seconds respectively.
    Every times when we restart application server - we are increasing the time values manually. once we restart they will be reset to original 30 & 60 sec respectively.
    I want to make customozed values permanently which should not be lost even after restart of application server.
    Please Help
    Regards
    PR

    If you have not set the PROCTIMEOUT parameter, TIMEOUT (or icm/keepalive_timeout) defines both the processing timeout and the keepalive timeout. Also, as of release 6.40, the keepalive timeout is limited to a maximum of 30 seconds.
    In a system where the default timeout settings of 30 seconds for the keepalive timeout and the processing timeout are not sufficient because of long-running applications, we recommend that you set the TIMEOUT and PROCTIMEOUT parameters for the relevant services so that you can configure them independently of each other. In addition, we recommend that you do not set the TIMEOUT value higher than necessary, for example, to the usual default value of 30 seconds.
    We recommend, for example, the following settings:
    icm/server_port_0 = PROT=HTTP,PORT=1080,TIMEOUT=30,PROCTIMEOUT=600
    to allow a maximum processing time of 10 minutes.
    Thanks,
    Tanuj

  • Transaction Monitor u2013 Services Processes into BI

    Hello Experts,
    I'm wondering if it is possible to get tickets information from Solution Manager and have some statistics in BI.
    For instance the average time of ticket resolution, number of tickets per team/person/month, etc, etc
    At this moment Iu2019m using the ZNTP transaction in solution manager to access Transaction Monitor u2013 Services Processes.
    I would like to install BI Content to have some summary queries about the activity within ZNTP.
    I already connected BI to SMP and also replicated metadata, however the data sources available just by the name donu2019t help me much.
    Perhaps I should check the content version within solution manager and BI but I don't know how to performe such verifications.
    Thanks

    using rsa3 in the source system I'm getting the follow error:
    The extraction program does not support object 0CRM_SRV_PROCESS_H
    Message no. R3009
    Diagnosis
    The application program for the extraction of data was called up using the invalid InfoSource/invalid InfoObject 0CRM_SRV_PROCESS_H.
    System Response
    The data extraction is terminated.
    Procedure
    Check the SAP Support Portal for the appropriate Notes and create a customer message if necessary.
    Can you help me?

  • OWSM security for a OSB service- authenticate from weblogic security realms

    Hello,
    I have a requirement to add security to a OSB service.
    The user details are configured in weblogic security realms. lets say there are ten different users.
    I need to protect my osb service using OWSM policy & the policy should be configured to authenticate the user from realms.
    I am new to OWSM & wondering if this is possible?
    Can the experts please direct me to any docs or steps?
    Thanks
    Ganesh

    Hi,
    Thanks for the links.
    I followed the blog and configured it using oracle/wss_username_token_service_policy.
    Now my requirement is to send the username,password from proxy to business and to the BPEL. (the bpel needs this username /password & and in header)
    The issue I am facing is the proxy service is not sending the soap header details to business service.
    I dont want to make the proxy as passthrough. (ie set Process WS-Security Header to NO)
    I have to authorize on proxy level and then send the same credential details to business service?
    So the question is, how can I retrieve the header after osb process it?
    Can anyone please help me here?
    Thanks
    Ganesh

  • OSB Service Callouts - HTTP Threads

    Hi All,
    We are having issues with OSB service callouts calling the business services from the Proxy Services. Due to excessive usage of Service Callouts, the proxy services are hanging out in the OSB server. From the Proxy services,we could able to successfully invoke the business services ( SOA Composistes , EJB Webservices etc ) and the webservices are taking few milliseconds to process the requests,but the response is not reaching the OSB Proxy Service. Ideally the behaviour is not happening for all requests, but for few messages. We have set up a dedicated Worker manager ( 10 Min Threads ) in the Admin Console and mapped the Worker manager to the business services ( dispatch policy ),but with no luck. We have followed the below link and its not working.
    http://allthingsmdw.blogspot.co.uk/2012/09/osb-service-callouts-and-oql-part-3.html
    Request to help us incase if you happen to see this behavior earlier.
    Thanks,
    Phani

    Hi Phani,
    It is a known issue with ALSB/OSB. There is a documentation in oracle as well regarding that "ALSB/OSB - Proxy Service Callout Causes Stuck Threads Under High Load [ID 861724.1]".
    Symptoms
    Stuck threads when calling a proxy service with a service callout /publish under high load. Proxy services using only ROUTE work without problems.
    Cause
    The service callout instantiates a new thread.
    As the proxy services are running in the default thread pool there will be no thread available for the callout under high load because all threads are blocked by the proxy services waiting for the response.
    This is expected behavior when using a service callout action and can be resolved by correct thread tuning.
    Solution
    A separate Workmanager needs to be configured for the Proxy service. This can be done by using the Dispatch Policy for specific proxy services (JMS, WS ..).
    For detailed information go to the OSB transport specific documentation and look for Dispatch Policy.
    There you will also see the link to the WLS Workmanager documentation.
    Please create a Workmanager using <max-threads-constraint> to limit the number of parallel executing proxies.
    Using this configuration the proxy will not block threads in the default queue.
    The service callout will still use the threads from the default thread pool.
    Hope this helps.
    Regards,
    Karan
    http://learn-oraclesoa.blogspot.com/

  • OSB services didn;t got discovered in OEM 12cR2

    Hi All,
    I hace installed OEM 12cR2. I want to monitor OSB services (Proxy and Business) from OEM 12cR2. Following one of the Oracle document I opened the osb console and turned on the service monitoring for proxy service and set the level to "pipeline". Also I turned on the service monitoring for business service. I refreshed the OSB domain which has been added in OEM and in which my proxy and business service have been deployed.
    But I find no data captured for my proxy and business service. The page for OSB services shows no entry for my proxy and business service. Even the services didn't get discovered. The OSB services page in OEM shows a blank page even if I turned monitoring for osb services on in my osb console.
    Please suggest what I should..where I went wrong.
    Also I checked by turning on the service monitoring for proxy service and set the level to "action" but this also didn't work.
    Please help!!
    thanks in advance!!

    I am little confused here. What I understood from your other posts is that you do not even see the proxy/business services in EMCC OSB target home page, but now it sounds like you do see the services, but you don't see the metrics. Is that correct? Lets take two possibilities:
    1) OSB business/proxy services are discovered in EMCC. but the metrics are not collected. For this, check the following:
    a) The agent monitoring your OSB domain shouldn't be down and there should be no incident due to this cause on the OSB homepage. If yes, file a SR to get agent issue resolved.
    b) If agent is up, then go to OSB taget menu > Monitoring > Metric and collection settings and make sure that the "OSB Business Service Metrics" and "OSB Proxy Service Metrics" are not disabled and the time interval is not too large such as in days/weeks. Make sure all other metrics that you are interested in are also not disabled.
    c) If both of the above are true, then also make sure that constant traffic is flowing through OSB so that EMCC gets enough cycles to collect the data from the hosts.
    2) OSB business/proxy services are NOT discovered in EMCC at all. For this, do the following:
    a) Refresh the OSB domain once and see if these services get discovered.
    b) If refresh is also not discovering these services, then this seems to be some OSB/Mbeans level misconfiguration and will need to be worked by support as it would be a client specific issue, so create a SR.
    Also, can you close the other threads around OSB monitoring topic so that we can work on just this thread since there seems to be few threads with duplicate information floating around.

  • Processing Time Slow Down After Upgrade to SAP B1 2007

    Dear Expert,
    Our Company recently upgrade our SAP B1 2005 to 2007, our colleague complain that it takes a longer time to retrieve history data as compare to previous,she is normal user, but if I change it to super user, the process time is shorten, please help.
    Regards,
    Saw Hua

    Hi Saw Hua,
    Have you checked out [Performance Landing Page|https://websmp103.sap-ag.de/~sapidb/011000358700000528732008E]    (= [http://service.sap.com/smb/sbo|http://service.sap.com/smb/sbo] -> Support -> Support Self-Help & Library -> performance)?
    Regards
    Mario

  • OSB Service Health Tab Information

    Hi All,
    I was suppose to do some monitoring and performance testing on some of the OSB services . During this process, I have enabled Monitoring on the required services and was able to find the respective metrics on the Service Health Tab of the OSB Console .
    Now my question/requirement is ,
    Where does OSB store this information which is shown on the console . Could you please let me know if any of you know about the Table Name
    If its not a table, could you please let me know  is there a way to access this information in any other way
    Thanks
    Sandeep

    Hi Sandeep,
    You can access the statistics using JMX APIs. Using JMX framework you can pull the information.
    http://docs.oracle.com/cd/E28280_01/admin.1111/e15867/monitoring_ops.htm#i1107353
    There is a sample program provided in below link to retrieve statistics
    "Sample Program to Retrieve Statistics for a Proxy Service that is Enabled for Monitoring"
    http://docs.oracle.com/cd/E28280_01/admin.1111/e15867/app_jmx_monitoring.htm#CEGFFBFG
    Cheers,
    Sahil

  • Extraction Status in Service Process CRM to BW

    Hi,
      I need extract the field status of one Service Process in CRM to BW with the extractor 0CRM_SRV_PROCESS_H because the status of the one service process is changing frecuently and I need to make a query for time in different status for service process. With this extractor I obtein several status but I don't know their source i.e. 0STAONESYS3, 0STAONESYS8, 0STALOCSYS0 ...
    In spro transaction of CRM, we have maked several status profil and I want to extract a profil Z status....
    Somebody can I help me?
    Thanks in advanced
    Csr

    Hi Cesar,
    If you are trying to get the time at which the status has been set, you will have to access the tables CRM_JCDS (CRM status change document) CRM_JEST; TJ30 to get the status. You will have to use the status profile that has been assigned in the SPRO and using that, try to read the status key from TJ30.
    Read the CRM_JEST table to get the date/time when the status was set and CRM_JCDS to check the status change. Once you have these, you will have to enhance the "Transactional datasource 0CRM_SRV_PROCESS_H" to add the field to the status. The other datasources 0STATONE... are for the system statuses and not quite helpful for the USER Statuses.
    Regards,
    Doniv

Maybe you are looking for