Optimize the performance of the RFC call between ECC and CRM

Hi,
We are planning to extract sales orders, sales activites and service orders to dispaly it on the  PDF factsheet of the account.
As of now, the PDF factsheet takes a long time to retrieve the data from ECC to CRM. Can you please suggest us on ways to  optimize the performance of the RFC call between ECC and CRM.
Thanks in advance,
Vamsi.

Hello,
[SAP Note 636906 |https://service.sap.com/sap/support/notes/636906]is quite useful here.
Many times, the performance is poor due to function module CRM_CCKPT_EXPORTSUMMARY. This function module gets the customer number, the sales organization and the fact sheet view. If in CRM customizing, you use complete view (001), then all the views in ERP including all the info blocks will be retrieved, which will cause performance issue.
To solve the issue, please use a limited view to retrieve the data from ERP - especially a view, which does not contain info block 013.
Hope it helps
Joaquin

Similar Messages

  • Communication between ECC and CRM

    Hello,
    I am in phase of showing communication between SAP CRM 5.0 and ECC 6.0.
    I am struggling with finding some simple transactions which are common in both, with which I can show correct connectivity between ECC and CRM.
       I need to save some data from CRM and access the same via transaction within ECC, save some data via ECC and access it via CRM. I already established RFC link between ECC and CRM.
    Probably communication between SD module of ECC with CRM.
    Can you please help me out with this, a clue/correct direction will be of very helpful. Basically I want to know, what transaction I can use for same.
    Any help is really appreciated.
    Thanks
    -Vishal

    Hi Glenn,
          I followed all steps in document mentioned above. In the end during execution of transaction I selected appropriate source and destination, when I click start transfer objects, it gets stuck in waiting phase.
    Among those steps I was not able to perform step#10. Creating Subscriptions for OLTP. My ERP is not displaying this option under subscription wizard. Should it be reason for not starting transfer ? I also do not see ERP logon screen when I select transfer.
    My another question is when transfer will complete, where I'll be able to see transferred objects within ERP database ?
    Thanks
    -Vishal

  • Remove RFC calls between SRM and ERP

    Hi,
    Did any of you ever worked on removing RFC calls between SRM and ERP systems?
    Does SAP maintains a lost of these built-in RFC calls?
    What are the known constraints to replace them by webservice calls ?
    Thanks
    Yann

    Hi Yann,
    There is nothing on the SAP database for SRM and the backend using webservice.
    There is for connections to SRM catalog.
    I haven't heard anything about plans to change this.
    Hope this helps,
    Kind Regards,
    Matthew

  • RFC connexion between R3 and CRM

    Hello,
    I have created a RFC connexion between My R3 (HF1CLNT300) and CRM(
    HF6CLNT300)  using SM59..
    but when i test it i have the this :
                Test connexion  HF6CLNT300
    Type connexion      Connexion R/3
    Interr.
    Do you know what does mean Interr.?
    have i to install any special plug-in before doing all this?
    thnx
    Message was edited by:
            Mouss Blackman

    Hi Abhinav,
    There are multiple ways to do this. If you want to stop the overall middleware flow, you can do it in MW_MODE transction code. If you want to stop the flow for a particular system, you can do that in SMQS transaction.
    Regards,
    Karthi M R.

  • Calls between salesforce and crm sap using jco

    Hi,
    My requirement is as follows:
    Tight integration of SFDC and SAP CRM in order to make Business Partners in sync across the systems. This will be a two way integration wherein any changes made to any business partner must be reflected in the other system upon batch/ real-time execution.
    I am currently using jco to interact with the crm sap system.
    What am i supposed to do from salesforce side in order to make the 2 systems talk?
    Regards
    Shilpi

    You should do a search on the XIF IDOC adapter in the CRM general and framework forum.  If you need more details on how to set this up, you can also read the documentation of the function module
    CRMXIF_PARTNER_SAVE
    Or look in the IMG at:
    CRM -> CRM Middleware ->Exchanging data with External components ->XIF Adapter Setup
    Take care,
    Stephen

  • Replication of Pricing Conditions between ECC and CRM

    Hi All
    I have a couple of queries regarding replication of pricing information between ECC_CRM. We maintain the filter settings for Pricing procedures, access sequences and condition types in the object DNL_CUST_CND_PR, and accordingly these are replicated from ECC to CRM. My Questions:
    1. If some pricing procedure is created in CRM and this needs to be replicated to ECC, Can we achieve this?
    2. Would DELTA be active on these objects, in the sense if some changes are made to a pricing procedure in ECC, would they flow automatically to CRM?
    Thanks in advance
    Best Regards,
    Ram Sushanth

    Hi Chandra and Swaroop
    Thanks a lot for your response.
    From your replies, now, this is my understanding (Pl correct me if am wrong)
    1. Replication of Pricing Procedure from CRM to ECC is possible.
    It would be of great help if you could elaborate on the procedure to do so or provide pointers for documentation in this regard.
    Because, for replication from ECC to CRM, we perform an initial load on the object DNL_CND_CUST_PR or DNL_CUST_CNDALL.What is the object that we need to execute from replication from CRM to ECC?
    2. DELTA would be active only on condition records, but not on Condition types and Pricing Procedures and if any pricing procedure is changed in ECC, we would need to perform Initial Load again.
    Thanks in advance
    Best Regards
    Ram Sushanth

  • Issue in RFC communication between ECC and PI

    Hi Experts,
    We are upgrading our systems from SAP R/3 to SAP ECC. We have couple of synchronous interfaces between SAP ECC <-> SAP PI <->Webservices.
    In R/3 these interfaces are working as expected and passing the data in correct format to PI. But same RFC in ECC is not passing correct data to SAP PI.
    Our design is : ECC creates an IDOC and then from the port program it calls the RFC to send data to PI. I tried debugging this port program and until the RFC data is correct in the tables, but as soon as RFC hands over data to PI, data is getting messed up.
    Below is the example.
    Data in RFC : has data like this
    TES_TRANS_NO     MATERIAL     UNIT     QUANTITY     SHIP_DATE
    1003                         MMT-XXX     EA          1                    20140722
    But when data comes to PI it is something like this:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <rfc:ZIDXF_WS_ORDER_STATUS xmlns:rfc="urn:sap-com:document:sap:rfc:functions"> 
    <ORDER>1003</ORDER>  
    - <ITEM> 
    - <item> 
    <TES_TRANS_NO>1003</TES_TRANS_NO>  
    <MATERIAL>EA 1 20140722</MATERIAL>  
    <UNIT_MEASURE />  
    <QUANTITY />  
    <SHIP_DATE />  
    </item>
    </ITEM>
    </rfc:ZIDXF_WS_ORDER_STATUS>
    Material number is not being mapped and all other remaining fields are being concatenated somehow and being mapped to Material.
    Please help if anyone has any ideas.
    Thanks,
    Sameer

    Issue resolved:
    RFC Destination was Non-Unicode in R/3, for ECC we changed it to Unicode (As PI system is unicode), and it worked.
    Thanks everyone.
    Sameer

  • Trigger an RFC call to ECC from PI using BPM

    HEllo Experts,
    This is my first time in ccBPM and require your expertise in gaining some insights onto calling an RFC FM using ccBPM.
    I am typically implementing the scenario as it is mentioned in this blog: /people/mitesh.parekh/blog/2008/12/01/receiving-aleaud-as-acknowledgment-in-ccbpm in order to generate acknowledgements from ECC.
    I have created the IR and ID and I am successfully able to exceute the BPM till step2. Step 3 is the ABAP mapping part for which i have specified teh required properties and Operation mapping too.
    My concern is that how do i proceed from Step 4 i,e how do i trigger this RFC call to ECC and receive it in BPM again?
    Thanks in advance,
    Elizabeth.

    I am developing a scenario which looks like this MDM ->PI ( BPM)  -> ECC.
    Now the Integration process that I am developing is with reference to blog http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/12249. [original link is broken] [original link is broken] [original link is broken]
    I am posting MATMAS from MDM which is received in first step(receive step) of this BPM.
    2nd step (Send step - BPM) will send this MATMAS05 Idoc to ECC and Pi will have a message id generated for this message.
    3rd step of BPM (ABAP mapping) - which will read the actual PI Idoc number from system tables based on the message id from step 2.
    4th step: Idoc number retrieved is to be sent in the requset message of RFC ZALEAUD4XI.
    5th step: Response of ZALEAUD4XI RFC is to be received in PI and sent for further processing.
    Do i need a mapping between the requset output of ABAP mapping and the input RFC requset message of step4?
    Thanks,
    Elizabeth

  • Tweaking the performance of the PC

    Hello i am a school student (in my final year) and i have some knowledge on tweaking the performance of the PC so i hope my way helps
    Solution to Blue screen with error:
    Hi that error is quite a rare error for windows 8.1 users who have their drivers up to date the most common cause is corrupted files in your hdd 
    if you have a backup of all your files and folders then it is recommended to do a full reinstallation of windows 8.1 and make sure u delete all your partitions including the system and recovery partition when you reinstall
    once you have reinstalled download the latest drivers using Toshiba support page and also install latest windows updates as soon as possible once you have completely recovered your pc make sure to create a recovery media using the win 8.1 installation disk
    and save that media then create a system image backup for the future
    How to create system image backup: please follow this guide for images and videos 
    http://www.avoiderrors.net/create-system-image-backups-of-windows-8-1-and-restore-from-it/
    and then once you have done that you should have a installation media and a system image backup then you can move to increasing the PC performance 
    PC performance boost tips:
    Ok step one: creating a system restore point
    (i): open your search tab in windows 8.1 desktop and type "create system restore point"(no quote marks) and select the system restore point option.
    (ii): when the system properties tab open click on the button called create on the bottom on the tab 
    (iii): another tab will ask you to name the system restore point so you can identify it so type a name of your choice and click create
    an thats all 
    Ok step two : remove unnecessary antivirus software (if you have any)
    normally on a new PC you get a bunch of junk software along with a trail pack of an antivirus software usually it's McAfee so uninstall that and uninstall the other useless junk software if you have any problems with uninstallating then use Revo uninstaller
    app to uninstall 
    since you did a reinstall of windows you will not have any of those so skip step two
    Step three: Installing a good antivirus software
    now the most recommended would be either Norton or Kaspersky but if you feel like going for free ones then i suggest 
    Avira or Avast as a good antivirus software also the renowned Malawarebytes is also quite good 
    i personally use malwarebytes free version since i can run it along side my main antivirus software without it conflicting with each other
    once you have installed the software on your pc make sure you run a full scan for your first time
    and move to step four.
    Step four: System registry errors
    to fix registry error you will need a third party software my personal recommendation is ccleaner and glary utilities 
    http://www.glarysoft.com/
    http://www.piriform.com/
    install either one and then run a maintenance on your PC the UI for both is quite user friendly so you won't have any problems 
    for glary utilities do the 1 click maintenance and for ccleaner do the cleaner option and then do the registry option
    just analyze and click repair or fix error thats all once it does a repair do another analysis and if it shows 0 errors then your PC is clean if it shows errors then click repair again and repeat the process till you get 0 errors
    then move to step five.
    Step five: Startup speed
    to speed up your start up just open glary utilities or ccleaner
    for ccleaner click tools box and click on the "Startup"  option then click on the programs that you feel are not needed on startup and click disable this option will not allow the programs to startup along with windows they will instead will
    start up when you start them up 
    for glary click on the advanced tab and under the system control menu you will find the "Startup items" option disable the programs you feel are not needed during startup the bonus of glary is that it shows whether  the program holds any relevance
    to your PC if it is on startup or not so you will know whether it is needed or not once you disable your unwanted startup programs move to step six.
    Step six: How to optimize your windows 8.1 paging file
    watch this video and follow it's steps
    https://www.youtube.com/watch?v=rQ98T4Qt42M
    once you have finished step six then move to step seven 
    Step seven: How to enable windows 8.1 Hard Drive Write Caching
    watch this video and follow it's steps carefully 
    https://www.youtube.com/watch?v=4gye7Odj-Io
    once you have finished this then time to tweak your visual effects which is the last step
    Step eight: Adjust visual effects
    ok this is the last step 
    (i): open search bar and type 
    "Adjust the appearance and performance of Windows" (copy paste without quotes if you like)
    and the performance tab will open
    (ii): now click on the option "Adjust for best performance" and this will remove all your visual effects now i know it can look a little bad but the more options you have the more resource your PC is going to use but since the fonts look bad click
    on the checkbox in the custom tab that says "smooth edges of screen fonts" this should give your pc a good look while using the least amount of resource and that is all.
    Ok that all for performance tweak i hope your PC speeds up a bit please tell me if you have any problems
    PS:
    i do not own the videos in the video links i merely recommended them since the steps in the video are quite easy to follow even for a complete amateur.

    Hi,
    Thank you for sharing the solutions here. It will be very beneficial for other community members who have similar questions.
    Regards.
    Yolanda Zhu
    TechNet Community Support

  • Please help me to increase the performance of the query

    Hello
    I am not an oracle expert or developer and i have a problem to resolve.
    Below is the query and explaiation plan and seeking the help to improve the performance of the query.
    Our Analysis,
    The query runs good,takes less one minute and fetches the results but during peak time it takes 8 minutes
    Require anyone suggestion's to improve the query.
    The query is generated from the Microsft dll so we dont have SQL code and require some help on tuning the tables.
    If tuning the query improves then also fine please suggest for that also.
    Enviroment: Solaris 8
    DB : oracle 9i
    (SELECT vw.dispapptobjid, vw.custsiteobjid, vw.emplastname, vw.empfirstname,
    vw.scheduledonsite AS starttime, vw.appttype, vw.latestart,
    vw.endtime, vw.typetitle, vw.empobjid, vw.latitude, vw.longitude,
    vw.workduration AS DURATION, vw.dispatchtype, vw.availability
    FROM ora_appt_disp_view vw
    WHERE ( ( vw.starttime >=
    TO_DATE ('2/12/2007 4:59 PM', 'MM/DD/YYYY HH12:MI AM')
    AND vw.starttime <
    TO_DATE ('2/21/2007 3:59 PM', 'MM/DD/YYYY HH12:MI AM')
    OR vw.endtime >
    TO_DATE ('2/12/2007 4:59 PM', 'MM/DD/YYYY HH12:MI AM')
    AND vw.endtime <=
    TO_DATE ('2/21/2007 3:59 PM', 'MM/DD/YYYY HH12:MI AM')
    OR ( vw.starttime <=
    TO_DATE ('2/12/2007 4:59 PM', 'MM/DD/YYYY HH12:MI AM')
    AND vw.endtime >=
    TO_DATE ('2/21/2007 3:59 PM', 'MM/DD/YYYY HH12:MI AM')
    UNION
    (SELECT 0 AS dispapptobjid, emp.emp_physical_site2site AS custsiteobjid,
    emp.last_name AS emplastname, emp.first_name AS empfirstname,
    TO_DATE ('1/1/3000', 'MM/DD/YYYY') AS starttime, 'E' AS appttype,
    NULL AS latestart, NULL AS endtime, '' AS typetitle,
    emp.objid AS empobjid, 0 AS latitude, 0 AS longitude, 0 AS DURATION,
    '' AS dispatchtype, 0 AS availability
    FROM table_employee emp, table_user usr
    WHERE emp.employee2user = usr.objid AND emp.field_eng = 1 AND usr.status = 1)
    ORDER BY empobjid, starttime, endtime DESC
    Operation     Object Name     Rows     Bytes     Cost     Object Node     In/Out     PStart     PStop
    SELECT STATEMENT Optimizer Mode=HINT: ALL_ROWS          23 K          11312                     
    SORT UNIQUE          23 K     3 M     11140                     
    UNION-ALL                                        
    VIEW     ORA_APPT_DISP_VIEW     17 K     3 M     10485                     
    UNION-ALL                                        
    CONCATENATION                                        
    NESTED LOOPS OUTER          68      24 K     437                     
    NESTED LOOPS          68      23 K     369                     
    NESTED LOOPS OUTER          68      25 K     505                     
    NESTED LOOPS OUTER          68      24 K     505                     
    NESTED LOOPS          68      23 K     369                     
    NESTED LOOPS          68      22 K     369                     
    NESTED LOOPS OUTER          68      22 K     369                     
    NESTED LOOPS          19      6 K     312                     
    NESTED LOOPS          19      5 K     312                     
    HASH JOIN          19      5 K     293                     
    NESTED LOOPS          19      5 K     274                     
    NESTED LOOPS          19      4 K     236                     
    NESTED LOOPS          19      4 K     198                     
    NESTED LOOPS OUTER          19      3 K     160                     
    NESTED LOOPS OUTER          19      3 K     160                     
    NESTED LOOPS OUTER          19      4 K     160                     
    NESTED LOOPS OUTER          19      1 K     103                     
    NESTED LOOPS OUTER          19      2 K     103                     
    NESTED LOOPS OUTER          19      2 K     103                     
    TABLE ACCESS BY INDEX ROWID     TABLE_DISPTCHFE     19      1 K     46                     
    INDEX RANGE SCAN     GSA_SCHED_REPAIR     44           3                     
    TABLE ACCESS BY INDEX ROWID     TABLE_COMMIT_LOG     1      22                          
    INDEX RANGE SCAN     GSA_COMDFE     1           2                     
    TABLE ACCESS BY INDEX ROWID     TABLE_COMMIT_LOG     1      22                          
    INDEX RANGE SCAN     GSA_COMDFE     1           2                     
    TABLE ACCESS BY INDEX ROWID     TABLE_COMMIT_LOG     1      22      3                     
    INDEX RANGE SCAN     GSA_COMDFE     1           2                     
    TABLE ACCESS BY INDEX ROWID     TABLE_COMMIT_LOG     1      28                          
    INDEX RANGE SCAN     IND_CASE_COMMIT2CASE     2           2                     
    TABLE ACCESS BY INDEX ROWID     TABLE_COMMIT_LOG     1      28                          
    INDEX RANGE SCAN     IND_CASE_COMMIT2CASE     2           2                     
    TABLE ACCESS BY INDEX ROWID     TABLE_COMMIT_LOG     1      28      3                     
    INDEX RANGE SCAN     IND_CASE_COMMIT2CASE     2           2                     
    TABLE ACCESS BY INDEX ROWID     TABLE_CASE     1      30      2                     
    INDEX UNIQUE SCAN     CASE_OBJINDEX     1           1                     
    TABLE ACCESS BY INDEX ROWID     TABLE_SITE     1      12      2                     
    INDEX UNIQUE SCAN     SITE_OBJINDEX     1           1                     
    TABLE ACCESS BY INDEX ROWID     TABLE_ADDRESS     1      12      2                     
    INDEX UNIQUE SCAN     ADDRESS_OBJINDEX     1           1                     
    TABLE ACCESS FULL     TABLE_EMPLOYEE     1      34      1                     
    INDEX UNIQUE SCAN     SITE_OBJINDEX     1      6      1                     
    INDEX UNIQUE SCAN     USER_OBJINDEX     1      6                          
    TABLE ACCESS BY INDEX ROWID     TABLE_X_GSA_TIME_STAMPS     4      48      3                     
    INDEX RANGE SCAN     GSAIDX_TS2DISP     1           2                     
    INDEX UNIQUE SCAN     GBST_ELM_OBJINDEX     1      6                          
    INDEX UNIQUE SCAN     GBST_ELM_OBJINDEX     1      6                          
    TABLE ACCESS BY INDEX ROWID     TABLE_MOD_LEVEL     1      12      1                     
    INDEX UNIQUE SCAN     MOD_LEVEL_OBJINDEX     1                               
    INDEX UNIQUE SCAN     PART_NUM_OBJINDEX     1      6                          
    INDEX UNIQUE SCAN     GBST_ELM_OBJINDEX     1      6                          
    INDEX UNIQUE SCAN     SUBCASE_OBJINDX     1      6      1                     
    NESTED LOOPS OUTER          68      25 K     505                     
    NESTED LOOPS OUTER          68      24 K     505                     
    NESTED LOOPS OUTER          68      24 K     437                     
    NESTED LOOPS          68      23 K     369                     
    NESTED LOOPS          68      23 K     369                     
    NESTED LOOPS          68      22 K     369                     
    NESTED LOOPS OUTER          68      22 K     369                     
    NESTED LOOPS          19      6 K     312                     
    NESTED LOOPS          19      5 K     312                     
    NESTED LOOPS          19      5 K     293                     
    NESTED LOOPS          19      5 K     274                     
    NESTED LOOPS          19      4 K     236                     
    NESTED LOOPS          19      4 K     198                     
    NESTED LOOPS OUTER          19      4 K     160                     
    NESTED LOOPS OUTER          19      3 K     160                     
    NESTED LOOPS OUTER          19      3 K     160                     
    NESTED LOOPS OUTER          19      2 K     103                     
    NESTED LOOPS OUTER          19      2 K     103                     
    NESTED LOOPS OUTER          19      1 K     103                     
    TABLE ACCESS BY INDEX ROWID     TABLE_DISPTCHFE     19      1 K     46                     
    INDEX RANGE SCAN     GSA_SCHED_REPAIR     44           3                     
    TABLE ACCESS BY INDEX ROWID     TABLE_COMMIT_LOG     1      22      3                     
    INDEX RANGE SCAN     GSA_COMDFE     1           2                     
    TABLE ACCESS BY INDEX ROWID     TABLE_COMMIT_LOG     1      22                          
    INDEX RANGE SCAN     GSA_COMDFE     1           2                     
    TABLE ACCESS BY INDEX ROWID     TABLE_COMMIT_LOG     1      22                          
    INDEX RANGE SCAN     GSA_COMDFE     1           2                     
    TABLE ACCESS BY INDEX ROWID     TABLE_COMMIT_LOG     1      28      3                     
    INDEX RANGE SCAN     IND_CASE_COMMIT2CASE     2           2                     
    TABLE ACCESS BY INDEX ROWID     TABLE_COMMIT_LOG     1      28                          
    INDEX RANGE SCAN     IND_CASE_COMMIT2CASE     2           2                     
    TABLE ACCESS BY INDEX ROWID     TABLE_COMMIT_LOG     1      28                          
    INDEX RANGE SCAN     IND_CASE_COMMIT2CASE     2           2                     
    TABLE ACCESS BY INDEX ROWID     TABLE_CASE     1      30      2                     
    INDEX UNIQUE SCAN     CASE_OBJINDEX     1           1                     
    TABLE ACCESS BY INDEX ROWID     TABLE_SITE     1      12      2                     
    INDEX UNIQUE SCAN     SITE_OBJINDEX     1           1                     
    TABLE ACCESS BY INDEX ROWID     TABLE_ADDRESS     1      12      2                     
    INDEX UNIQUE SCAN     ADDRESS_OBJINDEX     1           1                     
    TABLE ACCESS BY INDEX ROWID     TABLE_EMPLOYEE     1      34      1                     
    INDEX UNIQUE SCAN     EMPLOYEE_OBJINDEX     1                               
    INDEX UNIQUE SCAN     SITE_OBJINDEX     1      6      1                     
    INDEX UNIQUE SCAN     USER_OBJINDEX     1      6                          
    TABLE ACCESS BY INDEX ROWID     TABLE_X_GSA_TIME_STAMPS     4      48      3                     
    INDEX RANGE SCAN     GSAIDX_TS2DISP     1           2                     
    INDEX UNIQUE SCAN     GBST_ELM_OBJINDEX     1      6                          
    INDEX UNIQUE SCAN     GBST_ELM_OBJINDEX     1      6                          
    INDEX UNIQUE SCAN     GBST_ELM_OBJINDEX     1      6                          
    INDEX UNIQUE SCAN     SUBCASE_OBJINDX     1      6      1                     
    TABLE ACCESS BY INDEX ROWID     TABLE_MOD_LEVEL     1      12      1                     
    INDEX UNIQUE SCAN     MOD_LEVEL_OBJINDEX     1                               
    INDEX UNIQUE SCAN     PART_NUM_OBJINDEX     1      6                          
    NESTED LOOPS OUTER          68      25 K     505                     
    NESTED LOOPS OUTER          68      24 K     505                     
    NESTED LOOPS OUTER          68      24 K     437                     
    NESTED LOOPS          68      23 K     369                     
    NESTED LOOPS          68      23 K     369                     
    NESTED LOOPS          68      22 K     369                     
    NESTED LOOPS OUTER          68      22 K     369                     
    NESTED LOOPS          19      6 K     312                     
    NESTED LOOPS          19      5 K     312                     
    NESTED LOOPS          19      5 K     293                     
    NESTED LOOPS          19      5 K     274                     
    NESTED LOOPS          19      4 K     236                     
    NESTED LOOPS          19      4 K     198                     
    NESTED LOOPS OUTER          19      4 K     160                     
    NESTED LOOPS OUTER          19      3 K     160                     
    NESTED LOOPS OUTER          19      3 K     160                     
    NESTED LOOPS OUTER          19      2 K     103                     
    NESTED LOOPS OUTER          19      2 K     103                     
    NESTED LOOPS OUTER          19      1 K     103                     
    TABLE ACCESS BY INDEX ROWID     TABLE_DISPTCHFE     19      1 K     46                     
    INDEX RANGE SCAN     GSA_REQ_ETA     44           3                     
    TABLE ACCESS BY INDEX ROWID     TABLE_COMMIT_LOG     1      22      3                     
    INDEX RANGE SCAN     GSA_COMDFE     1           2                     
    TABLE ACCESS BY INDEX ROWID     TABLE_COMMIT_LOG     1      22                          
    INDEX RANGE SCAN     GSA_COMDFE     1           2                     
    TABLE ACCESS BY INDEX ROWID     TABLE_COMMIT_LOG     1      22                          
    INDEX RANGE SCAN     GSA_COMDFE     1           2                     
    TABLE ACCESS BY INDEX ROWID     TABLE_COMMIT_LOG     1      28      3                     
    INDEX RANGE SCAN     IND_CASE_COMMIT2CASE     2           2                     
    TABLE ACCESS BY INDEX ROWID     TABLE_COMMIT_LOG     1      28                          
    INDEX RANGE SCAN     IND_CASE_COMMIT2CASE     2           2                     
    TABLE ACCESS BY INDEX ROWID     TABLE_COMMIT_LOG     1      28                          
    INDEX RANGE SCAN     IND_CASE_COMMIT2CASE     2           2                     
    TABLE ACCESS BY INDEX ROWID     TABLE_CASE     1      30      2                     
    INDEX UNIQUE SCAN     CASE_OBJINDEX     1           1                     
    TABLE ACCESS BY INDEX ROWID     TABLE_SITE     1      12      2                     
    INDEX UNIQUE SCAN     SITE_OBJINDEX     1           1                     
    TABLE ACCESS BY INDEX ROWID     TABLE_ADDRESS     1      12      2                     
    INDEX UNIQUE SCAN     ADDRESS_OBJINDEX     1           1                     
    TABLE ACCESS BY INDEX ROWID     TABLE_EMPLOYEE     1      34      1                     
    INDEX UNIQUE SCAN     EMPLOYEE_OBJINDEX     1                               
    INDEX UNIQUE SCAN     SITE_OBJINDEX     1      6      1                     
    INDEX UNIQUE SCAN     USER_OBJINDEX     1      6                          
    TABLE ACCESS BY INDEX ROWID     TABLE_X_GSA_TIME_STAMPS     4      48      3                     
    INDEX RANGE SCAN     GSAIDX_TS2DISP     1           2                     
    INDEX UNIQUE SCAN     GBST_ELM_OBJINDEX     1      6                          
    INDEX UNIQUE SCAN     GBST_ELM_OBJINDEX     1      6                          
    INDEX UNIQUE SCAN     GBST_ELM_OBJINDEX     1      6                          
    INDEX UNIQUE SCAN     SUBCASE_OBJINDX     1      6      1                     
    TABLE ACCESS BY INDEX ROWID     TABLE_MOD_LEVEL     1      12      1                     
    INDEX UNIQUE SCAN     MOD_LEVEL_OBJINDEX     1                               
    INDEX UNIQUE SCAN     PART_NUM_OBJINDEX     1      6                          
    NESTED LOOPS          16 K     2 M     5812                     
    HASH JOIN          16 K     2 M     5812                     
    HASH JOIN          16 K     2 M     5286                     
    TABLE ACCESS FULL     TABLE_EMPLOYEE     13 K     441 K     28                     
    HASH JOIN          16 K     1 M     5243                     
    TABLE ACCESS FULL     TABLE_SCHEDULE     991      11 K     2                     
    HASH JOIN OUTER          16 K     1 M     5240                     
    HASH JOIN OUTER          16 K     1 M     3866                     
    HASH JOIN OUTER          16 K     1 M     450                     
    HASH JOIN          16 K     1 M     44                     
    TABLE ACCESS FULL     TABLE_GBST_ELM     781      14 K     2                     
    TABLE ACCESS FULL     TABLE_APPOINTMENT     16 K     822 K     41                     
    INDEX FAST FULL SCAN     CASE_OBJINDEX     1 M     6 M     201                     
    TABLE ACCESS FULL     TABLE_SITE     967 K     11 M     3157                     
    TABLE ACCESS FULL     TABLE_ADDRESS     961 K     11 M     1081                     
    INDEX FAST FULL SCAN     SITE_OBJINDEX     967 K     5 M     221                     
    INDEX UNIQUE SCAN     USER_OBJINDEX     1      6                          
    HASH JOIN          6 K     272 K     51                     
    TABLE ACCESS FULL     TABLE_USER     6 K     51 K     21                     
    TABLE ACCESS FULL     TABLE_EMPLOYEE     6 K     220 K     28

    Hi,
    First-off, it appear that you are querying a view. I would redo the auery against the base table.
    Next, look at a function-based index for the DATE column. Here are my notes:
    http://www.dba-oracle.com/t_function_based_indexes.htm
    http://www.dba-oracle.com/oracle_tips_index_scan_fbi_sql.htm
    Also, make sure you are analyzed properly with dbms_stats:
    http://www.dba-oracle.com/art_builder_dbms_stats.htm
    And histograms, if appropriate:
    http://www.dba-oracle.com/art_builder_histo.htm
    Lasty, look at increasing hash_area_size or pga_aggregate_tagtet, depending on your table sizes:
    http://www.dba-oracle.com/art_so_undocumented_pga_parameters.htm
    Hope this helps. . . .
    Donald K. Burleson
    Oracle Press Author

  • Need help in improving the performance for the sql query

    Thanks in advance for helping me.
    I was trying to improve the performance of the below query. I tried the following methods used merge instead of update, used bulk collect / Forall update, used ordered hint, created a temp table and upadated the target table using the same. The methods which I used did not improve any performance. The data count which is updated in the target table is 2 million records and the target table has 15 million records.
    Any suggestions or solutions for improving performance are appreciated
    SQL query:
    update targettable tt
    set mnop = 'G',
    where ( x,y,z ) in
    select a.x, a.y,a.z
    from table1 a
    where (a.x, a.y,a.z) not in (
    select b.x,b.y,b.z
    from table2 b
    where 'O' = b.defg
    and mnop = 'P'
    and hijkl = 'UVW';

    987981 wrote:
    I was trying to improve the performance of the below query. I tried the following methods used merge instead of update, used bulk collect / Forall update, used ordered hint, created a temp table and upadated the target table using the same. The methods which I used did not improve any performance. And that meant what? Surely if you spend all that time and effort to try various approaches, it should mean something? Failures are as important teachers as successes. You need to learn from failures too. :-)
    The data count which is updated in the target table is 2 million records and the target table has 15 million records.Tables have rows btw, not records. Database people tend to get upset when rows are called records, as records exist in files and a database is not a mere collection of records and files.
    The failure to find a single faster method with the approaches you tried, points to that you do not know what the actual performance problem is. And without knowing the problem, you still went ahead, guns blazing.
    The very first step in dealing with any software engineering problem, is to identify the problem. Seeing the symptoms (slow performance) is still a long way from problem identification.
    Part of identifying the performance problem, is understanding the workload. Just what does the code task the database to do?
    From your comments, it needs to find 2 million rows from 15 million rows. Change these rows. And then write 2 million rows back to disk.
    That is not a small workload. Simple example. Let's say that the 2 million row find is 1ms/row and the 2 million row write is also 1ms/row. This means a 66 minute workload. Due to the number of rows, an increase in time/row either way, will potentially have 2 million fold impact.
    So where is the performance problem? Time spend finding the 2 million rows (where other tables need to be read, indexes used, etc)? Time spend writing the 2 million rows (where triggers and indexes need to be fired and maintained)? Both?

  • Improve the performance of the code

    Hi All,
    Just check the below report and give some hits to improve the performance of the report.
      LOOP AT WBS_TAB.
        CLEAR: HOLD_PO_NBR,                                    
               HOLD_PO_LINE.                                   
        SELECT * FROM EKKN
                 WHERE PS_PSP_PNR = WBS_TAB-INTNO
                 AND EBELN IN S_PO
                 AND KOKRS = P_KOKRS.
          CHECK EKKN-LOEKZ <> 'X'.
          CLEAR GC_PROFL.
          WRITE WBS_TAB-PSPHI TO LC_PSPID.
    *select direct projects only if p_direct = 'X'.
          IF P_DIRECT = 'X'.                        
            SELECT SINGLE PROFL FROM PROJ INTO GC_PROFL        
                   WHERE PSPID = LC_PSPID.          
            IF GC_PROFL+4(3) = '002'                
            OR GC_PROFL+4(3) = '007'.               
              CONTINUE.                            
            ENDIF.                                  
          ENDIF.
    select indirect projects and cost centers only when p_indir = 'X'.
          IF P_INDIR = 'X'.                         
            SELECT SINGLE PROFL FROM PROJ INTO GC_PROFL        
                   WHERE PSPID = LC_PSPID.          
            IF GC_PROFL+4(3) NE '002'               
            AND GC_PROFL+4(3) NE '007'.             
              CONTINUE.                             
            ENDIF.                                  
          ENDIF.                                   
          CLEAR: GC_EINDT,                          
                 GC_PRCTR.                          
          GC_PRCTR = WBS_TAB-PRCTR.                 
          PERFORM PROCESS_MAIN2.
        ENDSELECT.
      ENDLOOP.
    FORM PROCESS_MAIN2.
      SELECT SINGLE * FROM EKKO WHERE EBELN = EKKN-EBELN.
      CHECK EKKO-LIFNR IN VEND_NO.
      CHECK EKKO-AEDAT IN S_POCDAT.                            
      SELECT SINGLE * FROM EKPO WHERE EBELN = EKKN-EBELN AND
                                      EBELP = EKKN-EBELP.
      CHECK EKPO-LOEKZ <> 'L' AND
            EKPO-LOEKZ <> 'S'.                                 
      SELECT SINGLE EINDT FROM EKET INTO GC_EINDT   
        WHERE EBELN = EKPO-EBELN                    
        AND EBELP   = EKPO-EBELP                    
        AND EINDT IN S_EINDT.                       
      IF NOT S_EINDT IS INITIAL.                   
        CHECK GC_EINDT IN S_EINDT.                  
      ENDIF.                                        
      CLEAR ITAB.
      ITAB-PO_CREATE = EKKO-AEDAT.                             
      ITAB-DEL_DAT   = GC_EINDT.                   
      ITAB-PO_NO     = EKKO-EBELN.
      ITAB-CURR_PO   = EKKO-WAERS.
      ITAB-CURR_CO   = TKA01-WAERS.
      ITAB-LINE      = EKPO-EBELP.
      ITAB-GR_SW     = EKPO-WEPOS.
      ITAB-GR_NON_VAL_SW = EKPO-WEUNB.
      IF EKPO-WEUNB = 'X'.                 "Goods Receipt, Non-Value
        ITAB-GR_SW = ''.        "switch evaluation of commitment to IR
      ENDIF.
      ITAB-TEXT       = EKPO-TXZ01.
      ITAB-QTY_ORD    = EKPO-MENGE.
      ITAB-UOM        = EKPO-MEINS.
      ITAB-AMOUNT_DOC = EKPO-EFFWR.
      ITAB-WBS = EKKN-PS_PSP_PNR.
      ITAB-COST_ELEM = EKKN-SAKTO.                             
      ITAB-KOSTL = EKKN-KOSTL.                                 
      ITAB-PRCTR = GC_PRCTR.
      ITAB-ANLN1 = EKKN-ANLN1.                                 
      ITAB-AUFNR = EKKN-AUFNR.                                
      ITAB-ZEKKN = EKKN-ZEKKN.                                 
      IF EKKN-VPROZ <> 0.
        PERCENT = EKKN-MENGE / EKPO-MENGE.
        ITAB-AMOUNT_DOC = ITAB-AMOUNT_DOC * PERCENT .
        ITAB-QTY_ORD = ITAB-QTY_ORD * PERCENT .
      ENDIF.
      IF ITAB-CURR_CO NE ITAB-CURR_PO.
      itab-amount_co = itab-amount_doc * ekko-wkurs.
           Convert from PO curr to CO currency
        GS_CONV_AMT = ITAB-AMOUNT_DOC / GS_CORATE.
        PERFORM GET_CURR_RATE USING ITAB-CURR_PO EKKO-AEDAT
                              CHANGING GS_RATE.
        ITAB-AMOUNT_CO =  GS_CONV_AMT * GS_RATE.
      ELSE.
        ITAB-AMOUNT_CO = ITAB-AMOUNT_DOC.
      ENDIF.
           Convert from PO curr to CO Code currency
      CLEAR: ITAB-CURR_LOC, GS_RATE.
      PERFORM GET_COCD_RATE USING EKKO-BUKRS
                            CHANGING ITAB-CURR_LOC GS_RATE.
      IF ITAB-CURR_LOC NE ITAB-CURR_PO.
                    Get company code/local currency and rate.
        GS_CONV_AMT = ITAB-AMOUNT_DOC / GS_RATE.
        PERFORM GET_CURR_RATE USING ITAB-CURR_PO ITAB-PO_CREATE
                              CHANGING GS_RATE.
        ITAB-AMOUNT_LOC =  GS_CONV_AMT * GS_RATE.
      ELSE.
        ITAB-AMOUNT_LOC = ITAB-AMOUNT_DOC.
      ENDIF.
      ITAB-VEND_NO   = EKKO-LIFNR.
      APPEND ITAB.
      CLEAR ITAB.
    ENDFORM.
    Thanks,
    Subbu.

    Hi,
    In your code instead of using
    SELECT * FROM EKKN
    WHERE PS_PSP_PNR = WBS_TAB-INTNO
    AND EBELN IN S_PO
    AND KOKRS = P_KOKRS.
    ENSELECT
    USe
    DATA:
    TYPES: BEGIN OF t_ekkn.
            INCLUDE STRUCTURE ekkn.
    TYPES: END OF t_ekkn.
    DATA: t_ekkn TYPE TABLE OF t_ekkn,
          t_ekkn_wa TYPE t_ekkn.
    FIELD-SYMBOLS: <t_ekkn> TYPE t_ekkn.
    SELECT * FROM EKKN
    INTO TABLE t_ekkn
    WHERE PS_PSP_PNR = WBS_TAB-INTNO
    AND EBELN IN S_PO
    AND KOKRS = P_KOKRS.
    Loop at t_ekkn assigning <t_ekkn>.
    Copy your existing logic between SELECT & ENDSELECT of EKKN
    Endloop.
    I hope this helps,
    Regards
    Raju Chitale

  • Boost the Performance of the database

    I am getting a user call that the performance of the database is poor. I want to increase the performance of the database, can any one list out what are the checks and changes i have to do to increase the performance.
    I am using topas command to find the top consume process in unix apart from this what are the area i have to look to boost the performance.
    Help me in this regards.
    Vel

    there is no one area where you can pinpoint and say this needs tuning. performance tuning needs to be addressed from all fronts. but you make one change at a time and see if it gives the desired improvement. the areas that you have to look are
    1. table design
    2. sql tuning, proper use of indexes
    3. sizing the tables, indexes
    4. setting up proper SGA parameters, if you have memory in the machine, make optimal use of it by allocating it to oracle.
    5. use of procedures and functions.
    you may or may not get a call from the user, but if you feel that something could be improved by tuning, i guess its the job of the DBA to do that and squeeze every bit of performance from the hardware and the software.
    check out oracle performance tuning docs for more detailed info.
    Mukundan.

  • Gather Schema Statistics improve the performance of the R12 application?

    Hi All,
    If we run “Gather Schema Statistics” program, it will improve the performance of the R12 application?
    Platform Linux and DB version 10.2.0.4.
    Thanks & Regards,
    Tharun

    Hi Tharun,
    If we ruer n “Gather Schema Statistics” program, it will improve the performance of the R12 application?
    Yes, it will speed up as it ensures to have an up to date statistics.
    Please refer notes:
    Concurrent Processing - How To Gather Statistics On Oracle Applications Release 11i and/or Release 12 - Concurrent Process,Temp Tables, Manually [ID 419728.1]
    How Often Should Gather Schema Statistics Program be Run? [ID 168136.1]
    Why Stats Gather?
    Stats gathering must be set as a routine job and is recommended to be scheduled. Even though this program is available from the fronted in the form of submitting a concurrent program basically it performs a DB level enhancement and ensures that you have an up to date optimizer statistics.Because the objects in a database can be constantly changing, statistics must be regularly updated so that they accurately describe these database objects.
    For indepth understand as to why it should be run, please refer doc:
    Managing Optimizer Statistics
    Thanks &
    Best Regards,

  • Hello there - how can I share my iTunes library between two users on the same computer? I put the library in a shared folder between both and have selected this library on both as well, but when I update iTunes with music etc it only appears on one?

    Hello there - how can I share my iTunes library between two users on the same computer? I put the library in a shared folder between both and have selected this library on both as well, but when I update iTunes with music etc it only appears on one?

    Thank you Joe - I tried this but it's only showing a teensy amount of music - the stuff on the second users account as opposed to the giagntic library on the 'main' account. I actually went to a Genius Bar and they said that apple doesn't really want you to share music between accounts - parents don't want to hear their kids music etc. Which seemed strange, but it might be the case sadly   Thanks anyway!

Maybe you are looking for

  • Issues with Gagabit connection on BT Home Hub 3.0

    I did post this is the BB Other Forum, but got no reply, maybe someone can answer it in this one. I have just received a BT Home Hub 3.0 to replace my old HH 1.0 I have connected the hub up and 'assumed' that if I plug port 4 into my existing gigabit

  • I'll be more clear

    I see in the forums where many people have had this problem. I just dont know the solution. The pictures that show up through desktop manager have transferred over to my mac, but I can't get the ones on device memory (memory/home/user/pictures). (I w

  • MX922 -Problem opening scanned photos saved as jpgs

    When I scan a photo, the image is saved as jpg but cannot be opened by Preview or iPhoto. Message: "file is damaged or is in an unrecognizable format." I scan from my pc, as the printer "defaults" to "set the pc to start scanning." The file extension

  • Sales order price with normal stock as well as Reserve stock

    Dear all i have different situation in stock reserving plz let me know i am explaining whole scenario plz tell me how to proceed ex: customer agreed To buy the stock around 500 qnt so i have kept stock reserve on  jan 15th 500 qnty ( by using 412 e )

  • Debuging Error in AdobeFlex Builder (Windows-7)

    Here is an Error for me in AdobeFlex Builder 3 My Operating System is Windows-7,Presntly FlashPlayer 10 is running in MySystem,but while debuging in Flex this Error was Coming Except this Debug Problem FlexBuilder works fine in Windows-7 How to Solve