Report run very slow because some user accessing the same report

Dear All,
I group my table into 3 tablespace And some reports, accessing different tablespace (more than 1 table space). and these report will always be run by 5 user in the same time. and make it run very slow. Is it going to make the report very slow ? Please advice
Thanks in advance
Widhi

Hi,
i hope that may not be the actual problem..
if ur report processing includes relatively high
amount of calculations on tables..then the report
processing can be very slow...
In that case try to create a table to store ur calculations
temporarily and try to use that table in the report..

Similar Messages

  • My macbook pro is running very slow with some strange mouse and window movements. The trackpad is very unresponsive and when responding the cursor moves on its own and/or very erratically. When on safari the window suddenly zooms in or highlights words.

    My macbook pro is running very slow with some strange mouse and window movements. The trackpad is very unresponsive and when responding the cursor moves on its own and/or very erratically. When on safari the window suddenly zooms in or highlights words and looks them up via dictionary. I currently have a wireless mouse connected and I am still having the same problems.
    I fee like I may have a virus or my laptop is perhaps being accessed remotely. All of the sharing options are unchecked.
    HELP PLEASE
    Very worried!!

    Try these in order testing your system after each to see if it's back to normal:
    1. a. Resetting your Mac's PRAM and NVRAM
        b. Intel-based Macs: Resetting the System Management Controller (SMC)
    2. Restart the computer in Safe Mode, then restart again, normally. If this doesn't help, then:
         Boot to the Recovery HD: Restart the computer and after the chime press and hold down the
         COMMAND and R keys until the Utilities menu screen appears. Alternatively, restart the computer and
         after the chime press and hold down the OPTION key until the boot manager screen appears.
         Select the Recovery HD and click on the downward pointing arrow button.
    3. Repair the Hard Drive and Permissions: Upon startup select Disk Utility from the Utilities menu. Repair the Hard Drive and Permissions as follows.
    When the recovery menu appears select Disk Utility. After DU loads select your hard drive entry (mfgr.'s ID and drive size) from the the left side list.  In the DU status area you will see an entry for the S.M.A.R.T. status of the hard drive.  If it does not say "Verified" then the hard drive is failing or failed. (SMART status is not reported on external Firewire or USB drives.) If the drive is "Verified" then select your OS X volume from the list on the left (sub-entry below the drive entry,) click on the First Aid tab, then click on the Repair Disk button. If DU reports any errors that have been fixed, then re-run Repair Disk until no errors are reported. If no errors are reported click on the Repair Permissions button. Wait until the operation completes, then quit DU and return to the main menu. Select Restart from the Apple menu.
         Reinstall the 10.9.2 update: OS X Mavericks 10.9.2 Update (Combo).
    4. Reinstall Lion/Mountain Lion, Mavericks: Reboot from the Recovery HD. Select Reinstall Lion/Mountain Lion, Mavericks from the Utilities menu, and click on the Continue button.
    Note: You will need an active Internet connection. I suggest using Ethernet if possible because it is three times faster than wireless.
    Reinstall the 10.9.2 update: OS X Mavericks 10.9.2 Update (Combo).

  • Oracle 10gr2 Master/detail form running very slow when you navigate to the detail record.

    Hi All, I have a master detail  form, running in webserver, when I navigate to the detail block, the form start buffering and buttering for about 2 min. There is a trigger when-new-record instance that is firing when you navigate to  a new record : The select part of this stament is taken a long time to execute. I modified this in toad and what used to take 25 seconds to run is taken less than a second now, but the slowness still persists in the form.
    for rec in (select wrrh_col
                      wpbh_col_lvd,
                       wpbh_col_doc_no
          from wh_col,
               wkpl_col,
               wh_col
         where wrrh_col_no = :block.wreh_wrrh_col_no
           and wrrh_col_no = wreh_wrrh_col_no
             and wrrh_col_no = wpbh_col_no
           and wrrh_col_proj    = wpbh_col_proj
           and wrrh_proj_no     = wpbh_proj_no) loop
       if fun_name(rec.wpbh_col_lvd) = 'Y' then                      
        do something,
       end if;
      end loop;
    The select staement that used to run for 23 seconds is running in less than one second, but the form is still running very slow when I navigate to the detail record.
    Please advise.
    Thanks.

    Thanks Andrea for your prompt response, the problem is the select statement and like I stated, I tuned the select statement in toad and what normally takes 23 secs is taking less than 1 sec to run. If I comment out the call to the function, it is still slow. The select stament will returned null and it will still be slow. When I comment out the for loop, it run very fast. I dont know what else to do than tuned the select statement.

  • Can two users access the same bootcamp (win os) instance?

    We are two users who are using our imac and we both have own user names in mac os. I created a bootcamp partition with windows xp on it. Can both users access the same partition and create their own user spaces within xp?
    Will that work also if we use Parallel or virtual box? (access the same user data as in boot camp?)
    I would like to have the option for each user to access their windows data either through bootcamp or through the virtual tool.
    Message was edited by: gss2
    Message was edited by: gss2

    gss2 wrote:
    What do you mean Virtual box it will not run on its own partition? I have a virtual box running on my desktop and it runs just fine ...own partition?? I don't understand.
    Running on its own partition means that the installed OS has its own formatted portion (partition) of the hard drive. A virtual machine does not have its own partition. It creates a virtual partition (a file on the computer) that simulates a file system (partition). So Virtual Box, or any other virtualization software, does not run Windows, or any other OS in its own partition.

  • I have photos I want to group together in one album, but can't do this because some may have the same number. How can I combine them all into one album?

    I have photos I want to group together in one album, but can't do this because some may have the same number. How can I combine them all into one album? I was trying to move several albums onto a USB drive and it stated all other files exist at this location.  They are pictures taken at different times and have the same number I guess.

    In iPhoto albums may contain photos with the same file name - iPhoto handles that just fine
    If you are exporting them to move somewhere else use the sequential file name feature of export to give each file a unique name
    LN

  • Can i use my mac mini for some users at the same time?

    can i use my mac mini for some users at the same time? i mean with their own screen, mouse, and keyboard

    If you're asking whether more than one user can use the computer at the same time with multiple displays, the answer is no. Other users can log in over a network with Screen Sharing, but each one will need his own computer (not necessarily a Mac.)

  • Since downloading Mountain Lion, why is Safari running very slow? I've check the internet and it's fine.

    Since downloading Mountain Lion, why is Safari running very slow?

    You're going to have to be more specific and include some details.

  • Multiple User Accessing the same record issue

    I am planning to design an app where we have the following use case requirement.
    If a user who is logged into the system is accessing a record(plan in this case) anyone else who is logged into the system at the same time should be locked out of that same plan but should still be able to access other plans in the system. A plan has many things associated with it so the 2nd user should be locked out of everything associated to the plan being accessed by the first user.
    What is the best way to implement this at the application or the database level?
    Here are some options we have been bouncing around.
    1. When the first user logs in and accesses the first plan we lock the plan at the app level using a singleton class which has one and only one instance on the app server. The plan_id can be put as an entry into a hashtable which can be in the session and is created if one does not exist. When the 2nd user tries to access the same plan, since the plan_id is still in the hashtable he would be locked out. However we somehow need to timeout the first user after 30 mts of inactivity or so so that others can access the plan and are not locked out for ever if the first user walks away from his PC or does not close his browser, thus keeping his session alive indefinitely.
    2. In the database in the plan table we add a column for 'locked'. When the first entry is created in the plan table locked column is marked as 'yes' or 1 and when the user closes the browser we use some javascript to trigger an event which changes that 'yes' or 1 to 'no' or 0 thus unlocking the plan. However the big issue we see in this concept is that we will have to put a javascript onUnload method in all jsp pages in the app because the user could be anywhere in the app after starting his plan access after login.
    Conceptually the 2 options are the same but one is done at the app whereas the other is at the database level.
    Is there a better way to handle this scenario using transactions or some other technological option.
    Thanks

    Another solution involving no modification of the database structure:
    As soon as a user want to access a plan, try to UPDATE the plan record... if it fails, the record was locked
    by another user before. When the user has finished with the plan, you can COMMIT or ROLLBACK the changes, which will free the lock for other users.
    An advantage of this solution is that if program crashes unexpectedly, there will automatically be a ROLLBACK.
    Of course, you need a transaction for this... and perhaps more if you want to separate the 'locking transaction' (virtual update just for restricting access) from the 'operating transaction' (in which you will
    do the DB stuff: inserts, updates, deletes, etc.)
    Hope this helped,
    Regards.

  • Prevent multiple users accessing the same form

    hi,
    i am working in forms
    i have a requirement like this
    if more than one user are using the same form and try to access the same record then the second user should not be able to do transaction
    he should be popped up with a msg saying that other user is working on it
    can any one suggest how to do this in my form
    thanks in advance
    selvaraj s

    That is pretty much exactly the way Forms works automatically.
    Two users can use the same form, and can even display the same data record. One of the users can make changes to the record -- Forms locks the row upon the FIRST keystroke in the first field the user begins to change.
    Once the row is locked, the second user is free to look at the record, and won't even know if another user has begun making changes. However, if second user tries to change even one field in the record, Forms pops up the message, "Could not reserve record (2 tries). Keep trying? Yes / No"
    There are also protections so if the first user actually changes the row and commits, then the second user tries to make a change. Forms will automatically detect whether changes were made, and if so, will undo the change and issue the message, "FRM-40654: Record has been updated by another user. Re-query to see change."
    The above automatic processing works very nicely. If it will not work for you, then what is it you need?

  • Multiple users accessing the same server.

    Ok here is my issue, about 2 months ago I started having issues with Filesharing on my 2012 Mac Mini running Lion server (current update). We have 3 users that VPN into our conpany network and usually access the same folder, 2 months ago they started conflicting with each other. When one VPNs into the network and connects to the server they are fine, if the second one connects to the network they are fine but if the second one tries to access the fileshare they knock the second one off the server. The first one's connection eventually hangs and they have to completely disconnect from the VPN. I am wondering if this was caused by a patch or if there is something else going on. I have tried to reboot the server and checked the logs for anything but I am not seeing what may be causing this. I have restarted the Filesharing in the Server app and still get the same problem, the users are connecting via local credentials to the server. I don't think it is a password issue since either user can log in and access as long as another user doesn't so I am not sure what the issue could be.
    any help appriciated,
    josh

    By 'standard record locking system' do you mean there is nothing I need to do programatically? No block level properties to change?
    So you are saying this is just the way it always works. So as soon as one of our call center agents opens a record all I have to do is create a pending update to any field?
    But won't another user be able to open the form and just query that record not knowing another user has it open?

  • What happens when multiple users access the same servlet?

    Do the users share all the same resources? Or is a new process generated for each user? I have a servlet that builds a string to return to the user and I only have myself to test, so I can't really see what happens when many users access the servlet. Is there a possibility that the string will get screwed up, like when dealing with multiple threads, or do all the users get their own resources and I don't have to worry about that?

    huh? if you can point a test servlet at it, you can point a browser at it (even if the servlet does not serve html it will run)
    try pasting the servlet URL into a web browser
    refreshing multiple browsers repeatedly could provide a manual test

  • Report running very slow compared to Query Analyzer - high TimeDataRetrieval

    Hi,
    I have a report in SQL Reporting Services 2005 which calls a stored proc and the report takes a very long time to run and sometimes returns zero records. But when i run the stored proc in query analyzer it takes about 4 seconds!!
    I have checked the execution log on the RS using the below sql:
    Code Snippet
    use ReportServer
    Select * from ExecutionLog with (nolock) order by TimeStart DESC
    It shows that i have a large amount of time for the dataretrieval (601309ms, about 10mins) and does not return any records most likely because of a query timeout:
    TimeDataRetrieval  TimeProcessing  TimeRendering Source Status         ByteCount RowCount
      601309                      2227                     3                         1            rsSuccess 4916           0
    The weird thing is that when i run it in query analyzer, i get about 400 records in 4 seconds !!
    I dont understand what RS is doing to take up so much time like this to retrieve data.
    The report is very simple - it basically returns the records straight out into a table.
    The only thing I somewhat suspected was a parameter data type conflict between RS and SQL, specifically dates. I have a start and end date parameter in the report - i tried specifying this as date and string to see if it made any difference but it didn't.
    Any help would be greatly appreciated.

    Hi Mark,
    I didn't say it was an issue of parameter sniffing, and I didn't point you towards the good article about that <s>. I asked you whether you had read the article, described to you earlier in the thread.
    What I said was that it might be an issue of appropriate and dynamic query optimization, versus a cached query plan.  Parameter sniffing is only one of many ways that SQL Server tries to figure out how to optimize a query.  I thought the article did a good job of discussing some of what goes on during this process, and that by absorbing that you could think of ways to handle the wider issue that would be appropriate to your code.  I also pointed you to a thread in which I discussed this in more detail.
    While there are truly many issues with the date controls in the default parameter interface and how they behave, I don't think that what you're experiencing with the date format is implicated in the performance issue.  I guess it *might* be if (say) there is a non-default param value in your proc but your report parameter allows nulls. 
    Let's say the report server database has a different date default than your production database in your system. I have never sat down and tested this scenario and I guess it might cause problems, So we'll look at that first. 
    Whether the date format is at fault is really easy to prove one way or the other, and once proven can be pretty easy to fix:
    Create a test parameter that is of string type.  SQL Server is really good about dynamic conversion of string dates to date types as you probably know.
    place values (formatted however you want) into this version of the parameter instead of your date control parameter.  Use valid dates, in both formats.
    Does your performance change?
    Do you get the right results but bad performance with US format date strings versus right results with good performance with AU date values?
    Do you get the WRONG results with US format date strings, or with AU date strings?
    Try additional permutations involving casting/converting in your proc.
    FWIW, go ahead in the Query Analyzer and put the SAME values you see in the log into your tests there (in US format, I mean).  Do you get the CORRECT results?  Does performance change?  Hold this thought and see below.
    Another thing you can do is look at the query plan as presented by the Query Analyzer when you present the arguments different ways.  See #7 above -- try presenting the date in different formats.  Does the plan show the same path and the same indexes in use each time, or are some not possible because of the way the date has to be converted?  When this happens, the issue is usually that the conversion must be done for each line compared in the filter.  You can fix this really easily in most cases by cast/convert in the procedure so that your SELECT line is only doing that work once. 
    If the plans are different, and perhaps the indexes used are different and you *can't* fix it by fixing the date before the SELECT, do you need to add an index, or perhaps rebuild one?
    Moving on from the date format, as I said before it may be really important NOT to go by your interactive Query Analyzer performance because what you do there may not be used by SQL Server in determining a query plan to cache and re-use.  In case you haven't read the other discussion that I pointed you to at (http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1827775&SiteID=1), think about using RECOMPILE or other options that will force a more dynamic investigation of the query.
     >L<

  • Report running very slow.. taking too much time

    Dear Oracle Report experts,
    I have developed report in oracle reports bulider 10g. while running it from report builder through main menu *** data is coming very SLOW *** within 55 Minuts.
    But, If same query is executing from SQL/PLSQL deverloper it is very fast within 45 second.
    Please suggest any configuration or setting ; is having Idea.
    Thanks
    Muhammad Salim
    Query is as below: generating result in 48 second.
    select cns.consultant,
    sum(cns.nof_pat) noof_pat,
    sum(cns.opd_amnt) opd_amnt,
    sum(cns.discount_amnt) discount_amnt,
    sum(cns.net_amnt) net_amnt,
    sum(cns.dr_share) dr_share,
    sum(cns.hosp_share) hosp_share,
    sum(cns.net_dis) net_dis
    from
    select rec.consultant,
    count(distinct rec.consultant) nof_pat,
    -- rec.receipt_date, bysalim
    pay_mode,
    rec.patient_mrno,rec.patient,
    service_name,rcpt_no,
    company,rec.docno,
    sum(distinct return_amnt) return_amnt,
    sum(distinct rec.opd_amnt) opd_amnt,
    sum(distinct dis.discount_amnt) discount_amnt,
    (sum(distinct nvl(rec.opd_amnt,0))-sum(distinct nvl(dis.discount_amnt,0))/count(rec.consultant)) net_amnt,
    round((((sum(distinct nvl(rec.opd_amnt,0))-sum(distinct nvl(dis.discount_amnt,0))/count(rec.consultant) ) *
    max(dr_per))/100),0) dr_share,
    round((((sum(distinct nvl(rec.opd_amnt,0))-sum(distinct nvl(dis.discount_amnt,0))/count(rec.consultant) ) *
    max(100-dr_per))/100),0) hosp_share,
    count(distinct rec.consultant) net_dis
    from
    select -- bokm_doc_dt receipt_date, bysalim
    bil_recept_no_a rcpt_no,
    fnc_org_sname(bokm_panel_comp_id) company,
    0 return_amnt,
    pr_mrno patient_mrno,pr_fname patient,
    bokm_doc_no docno,
    gcd_desc(bil_pay_mode_a) pay_mode,
    fnc_service_name(rslt_tst_code) service_name,
    dr_name consultant,
    pt_tst_rate opd_amnt,
    cons_share cons_share,
    (select max((nvl(rt_dr_share,0)*(100))/nvl(rt_amount,0))
    from hms_adm_dr_rt rt
    where dr.dr_id = rt.rt_dr_id
    and book.rslt_tst_code = rt.rt_scs_id) dr_per,
    dr_on_rent dr_rent,dr_share
    from hms_pat_pers pat,hms_lab_pat_mst pmst,hms_opd_book book,
    hms_pat_amnt amt,hms_adm_dr dr
    where pat.pr_mrno = pmst.bokm_mrno
    and pmst.bokm_mrno = book.rslt_mrno
    and pmst.bokm_doc_no = book.pt_pat_doc_no
    and pmst.bokm_mrno = amt.bil_mrnum_a
    and pmst.bokm_doc_no = amt.bil_docno_a
    and pmst.bokm_ref_conusltant_id = dr.dr_id
    and amt.bil_rcp_type_a = '075002'
    and pmst.bokm_pat_type in('PVT_OPD','CP_OPD')
    and amt.bil_void_a = 'N'
    and (pmst.bokm_user_dept_code != '039')
    and BOOK.CREATED_ON between '01-OCT-2011' and '17-OCT-2012'
    /* and (pat.pr_curr_cont_id = :P_CONT_ID or :P_CONT_ID = '000')
    and (pat.pr_curr_prvnc_id = :P_PRVNC_ID or :P_PRVNC_ID = '00')
    and (pat.pr_curr_city_id = :P_CITY_ID or :P_CITY_ID = '000')
    and (pat.pr_curr_area = :P_AREA_ID or :P_AREA_ID = '000')
    and (pat.pr_gender = :P_GENDER or :P_GENDER = 'A')
    and (pat.pr_marital_status = :P_MARITAL_STAT or :P_MARITAL_STAT = 'ALL')
    and (to_char(pmst.bokm_panel_comp_id) = :P_PANEL_COMP or :P_PANEL_COMP = 'ALL')
    and (pmst.bokm_ref_conusltant_id = :P_CONS or :P_CONS = 'ALL')
    and (decode(pmst.bokm_panel_comp_id,'1','PVT_IPD','CP_IPD') = :P_PAT_TYPE or :P_PAT_TYPE = 'ALL')
    &LPARA_RCPT_DT */
    ) rec,
    select -- bokm_doc_dt receipt_date, bysalim
    pr_mrno patient_mrno,
    bokm_doc_no docno,
    nvl(bil_disc_amont_a,0) discount_amnt
    from hms_pat_pers pat,hms_lab_pat_mst pmst,hms_opd_book book,
    hms_pat_amnt amt
    where pat.pr_mrno = pmst.bokm_mrno
    and pmst.bokm_mrno = book.rslt_mrno
    and pmst.bokm_doc_no = book.pt_pat_doc_no
    and pmst.bokm_mrno = amt.bil_mrnum_a
    and pmst.bokm_doc_no = amt.bil_docno_a
    and amt.bil_rcp_type_a = '075001'
    and pmst.bokm_pat_type in('PVT_OPD','CP_OPD')
    and amt.bil_void_a = 'N'
    and (pmst.bokm_user_dept_code != '039')
    and BOOK.CREATED_ON between '01-OCT-2011' and '17-OCT-2012'
    /* and (pat.pr_curr_cont_id = :P_CONT_ID or :P_CONT_ID = '000')
    and (pat.pr_curr_prvnc_id = :P_PRVNC_ID or :P_PRVNC_ID = '00')
    and (pat.pr_curr_city_id = :P_CITY_ID or :P_CITY_ID = '000')
    and (pat.pr_curr_area = :P_AREA_ID or :P_AREA_ID = '000')
    and (pat.pr_gender = :P_GENDER or :P_GENDER = 'A')
    and (pat.pr_marital_status = :P_MARITAL_STAT or :P_MARITAL_STAT = 'ALL')
    and (to_char(pmst.bokm_panel_comp_id) = :P_PANEL_COMP or :P_PANEL_COMP = 'ALL')
    and (pmst.bokm_ref_conusltant_id = :P_CONS or :P_CONS = 'ALL')
    and (decode(pmst.bokm_panel_comp_id,'1','PVT_IPD','CP_IPD') = :P_PAT_TYPE or :P_PAT_TYPE = 'ALL')
    and BOOK.CREATED_ON between :P_RCPT_DTFR and :P_RCPT_DTTO
    -- and BOOK.CREATED_ON between :P_RCPT_DTFR and :P_RCPT_DTTO
    &LPARA_RCPT_DT */
    ) dis
    where rec.patient_mrno = dis.patient_mrno (+)
    and rec.docno = dis.docno (+)
    --and patient = 'SHAHMEER'
    group by rec.consultant, --rec.receipt_date, bysalim
    rec.patient_mrno,rec.patient,
    pay_mode,service_name,rec.docno,
    rcpt_no,company
    order by rcpt_no,rec.consultant
    ) cns
    group by cns.consultant
    order by 1
    Edited by: user6431550 on Nov 15, 2012 3:10 AM

    Dear Oracle Report experts,
    I have developed report in oracle reports bulider 10g. while running it from report builder through main menu *** data is coming very SLOW *** within 55 Minuts.
    But, If same query is executing from SQL/PLSQL deverloper it is very fast within 45 second.
    Please suggest any configuration or setting ; is having Idea.
    Thanks
    Muhammad Salim
    Query is as below: generating result in 48 second.
    select cns.consultant,
    sum(cns.nof_pat) noof_pat,
    sum(cns.opd_amnt) opd_amnt,
    sum(cns.discount_amnt) discount_amnt,
    sum(cns.net_amnt) net_amnt,
    sum(cns.dr_share) dr_share,
    sum(cns.hosp_share) hosp_share,
    sum(cns.net_dis) net_dis
    from
    select rec.consultant,
    count(distinct rec.consultant) nof_pat,
    -- rec.receipt_date, bysalim
    pay_mode,
    rec.patient_mrno,rec.patient,
    service_name,rcpt_no,
    company,rec.docno,
    sum(distinct return_amnt) return_amnt,
    sum(distinct rec.opd_amnt) opd_amnt,
    sum(distinct dis.discount_amnt) discount_amnt,
    (sum(distinct nvl(rec.opd_amnt,0))-sum(distinct nvl(dis.discount_amnt,0))/count(rec.consultant)) net_amnt,
    round((((sum(distinct nvl(rec.opd_amnt,0))-sum(distinct nvl(dis.discount_amnt,0))/count(rec.consultant) ) *
    max(dr_per))/100),0) dr_share,
    round((((sum(distinct nvl(rec.opd_amnt,0))-sum(distinct nvl(dis.discount_amnt,0))/count(rec.consultant) ) *
    max(100-dr_per))/100),0) hosp_share,
    count(distinct rec.consultant) net_dis
    from
    select -- bokm_doc_dt receipt_date, bysalim
    bil_recept_no_a rcpt_no,
    fnc_org_sname(bokm_panel_comp_id) company,
    0 return_amnt,
    pr_mrno patient_mrno,pr_fname patient,
    bokm_doc_no docno,
    gcd_desc(bil_pay_mode_a) pay_mode,
    fnc_service_name(rslt_tst_code) service_name,
    dr_name consultant,
    pt_tst_rate opd_amnt,
    cons_share cons_share,
    (select max((nvl(rt_dr_share,0)*(100))/nvl(rt_amount,0))
    from hms_adm_dr_rt rt
    where dr.dr_id = rt.rt_dr_id
    and book.rslt_tst_code = rt.rt_scs_id) dr_per,
    dr_on_rent dr_rent,dr_share
    from hms_pat_pers pat,hms_lab_pat_mst pmst,hms_opd_book book,
    hms_pat_amnt amt,hms_adm_dr dr
    where pat.pr_mrno = pmst.bokm_mrno
    and pmst.bokm_mrno = book.rslt_mrno
    and pmst.bokm_doc_no = book.pt_pat_doc_no
    and pmst.bokm_mrno = amt.bil_mrnum_a
    and pmst.bokm_doc_no = amt.bil_docno_a
    and pmst.bokm_ref_conusltant_id = dr.dr_id
    and amt.bil_rcp_type_a = '075002'
    and pmst.bokm_pat_type in('PVT_OPD','CP_OPD')
    and amt.bil_void_a = 'N'
    and (pmst.bokm_user_dept_code != '039')
    and BOOK.CREATED_ON between '01-OCT-2011' and '17-OCT-2012'
    /* and (pat.pr_curr_cont_id = :P_CONT_ID or :P_CONT_ID = '000')
    and (pat.pr_curr_prvnc_id = :P_PRVNC_ID or :P_PRVNC_ID = '00')
    and (pat.pr_curr_city_id = :P_CITY_ID or :P_CITY_ID = '000')
    and (pat.pr_curr_area = :P_AREA_ID or :P_AREA_ID = '000')
    and (pat.pr_gender = :P_GENDER or :P_GENDER = 'A')
    and (pat.pr_marital_status = :P_MARITAL_STAT or :P_MARITAL_STAT = 'ALL')
    and (to_char(pmst.bokm_panel_comp_id) = :P_PANEL_COMP or :P_PANEL_COMP = 'ALL')
    and (pmst.bokm_ref_conusltant_id = :P_CONS or :P_CONS = 'ALL')
    and (decode(pmst.bokm_panel_comp_id,'1','PVT_IPD','CP_IPD') = :P_PAT_TYPE or :P_PAT_TYPE = 'ALL')
    &LPARA_RCPT_DT */
    ) rec,
    select -- bokm_doc_dt receipt_date, bysalim
    pr_mrno patient_mrno,
    bokm_doc_no docno,
    nvl(bil_disc_amont_a,0) discount_amnt
    from hms_pat_pers pat,hms_lab_pat_mst pmst,hms_opd_book book,
    hms_pat_amnt amt
    where pat.pr_mrno = pmst.bokm_mrno
    and pmst.bokm_mrno = book.rslt_mrno
    and pmst.bokm_doc_no = book.pt_pat_doc_no
    and pmst.bokm_mrno = amt.bil_mrnum_a
    and pmst.bokm_doc_no = amt.bil_docno_a
    and amt.bil_rcp_type_a = '075001'
    and pmst.bokm_pat_type in('PVT_OPD','CP_OPD')
    and amt.bil_void_a = 'N'
    and (pmst.bokm_user_dept_code != '039')
    and BOOK.CREATED_ON between '01-OCT-2011' and '17-OCT-2012'
    /* and (pat.pr_curr_cont_id = :P_CONT_ID or :P_CONT_ID = '000')
    and (pat.pr_curr_prvnc_id = :P_PRVNC_ID or :P_PRVNC_ID = '00')
    and (pat.pr_curr_city_id = :P_CITY_ID or :P_CITY_ID = '000')
    and (pat.pr_curr_area = :P_AREA_ID or :P_AREA_ID = '000')
    and (pat.pr_gender = :P_GENDER or :P_GENDER = 'A')
    and (pat.pr_marital_status = :P_MARITAL_STAT or :P_MARITAL_STAT = 'ALL')
    and (to_char(pmst.bokm_panel_comp_id) = :P_PANEL_COMP or :P_PANEL_COMP = 'ALL')
    and (pmst.bokm_ref_conusltant_id = :P_CONS or :P_CONS = 'ALL')
    and (decode(pmst.bokm_panel_comp_id,'1','PVT_IPD','CP_IPD') = :P_PAT_TYPE or :P_PAT_TYPE = 'ALL')
    and BOOK.CREATED_ON between :P_RCPT_DTFR and :P_RCPT_DTTO
    -- and BOOK.CREATED_ON between :P_RCPT_DTFR and :P_RCPT_DTTO
    &LPARA_RCPT_DT */
    ) dis
    where rec.patient_mrno = dis.patient_mrno (+)
    and rec.docno = dis.docno (+)
    --and patient = 'SHAHMEER'
    group by rec.consultant, --rec.receipt_date, bysalim
    rec.patient_mrno,rec.patient,
    pay_mode,service_name,rec.docno,
    rcpt_no,company
    order by rcpt_no,rec.consultant
    ) cns
    group by cns.consultant
    order by 1
    Edited by: user6431550 on Nov 15, 2012 3:10 AM

  • Report run very slow

    Hi
    From the SE30, the system call 'fetck MKPF' consume a lot of time, the code is like below. Could anyone please advise how to improve it? Thanks
    clear lt_temp1[].
       select "a~mblnr
             a~budat
             b~matnr
            b~MBLNR
            b~zeile
             b~bwart
             b~ERFMG
             b~ERFME
             c~aufnr
             c~verid
             e~text1
             f~maktx
            g~auart
        into corresponding fields of table lt_temp1
        from mkpf as a
          inner join mseg as b
            on  amblnr = bmblnr
            and amjahr = bmjahr
          inner join afpo as c
            on  baufnr = caufnr
            and bmatnr = cmatnr
          inner join aufk as i
            on caufnr = iaufnr
          inner join afko as d
            on iaufnr = daufnr
          inner join MKAL as e
            on  cmatnr = ematnr
            and bwerks = ewerks
            and cverid = everid
          inner join MARC as h
            on  ematnr = hmatnr
            and ewerks = hwerks
          inner join MAKT as f
            on  ematnr = fmatnr
         inner join aufk as g
           on  caufnr = gaufnr
        where a~budat in s_datum
        and   b~bwart between '101' and '102'
        and   b~werks = p_werks
        and   b~erfmg <> 0
        and   b~aufnr <> space
        and   i~AUART in gr_auart
        and   d~fevor in s_fevor
        and   d~dispo in s_dispo
        and   f~spras = sy-langu.

    Hi huang,
    Hope this code will be help out.
    If you use more that three inner joins performence will be very slow instead of that better to use For All entreies.
    *& Report  ZDN_TEST_001
    REPORT  ZDN_TEST_001.
    SELECT-OPTIONS: S_DATUM FOR SY-DATUM.
    PARAMETERS: P_WERKS TYPE WERKS.
    TYPES: BEGIN OF TP_MKPF,
    MBLNR TYPE MKPF-MBLNR,
    MJAHR TYPE MKPF-MJAHR,
    BUDAT TYPE MKPF-BUDAT,
    END OF TP_MKPF.
    TYPES: BEGIN OF TP_MSEG,
    MBLNR TYPE MSEG-MBLNR,
    MJAHR TYPE MSEG-MJAHR,
    ZEILE TYPE MSEG-ZEILE,
    BWART TYPE MSEG-BWART,
    MATNR TYPE MSEG-MATNR,
    WERKS TYPE MSEG-WERKS,
    ERFMG TYPE MSEG-ERFMG,
    ERFME TYPE MSEG-ERFME,
    AUFNR TYPE MSEG-AUFNR,
    END OF TP_MSEG.
    TYPES: BEGIN OF TP_AFPO,
    AUFNR TYPE AFPO-AUFNR,
    MATNR TYPE AFPO-MATNR,
    VERID TYPE AFPO-VERID,
    END OF TP_AFPO.
    TYPES: BEGIN OF TP_MKAL,
    MATNR TYPE MKAL-MATNR,
    WERKS TYPE MKAL-WERKS,
    VERID TYPE MKAL-VERID,
    TEXT1 TYPE MKAL-TEXT1,
    END OF TP_MKAL.
    TYPES: BEGIN OF TP_MAKT,
    MATNR TYPE MAKT-MATNR,
    MAKTX TYPE MAKT-MAKTX,
    END OF TP_MAKT.
    TYPES: BEGIN OF TP_MARC,
    MATNR TYPE MARC-MATNR,
    WERKS TYPE MARC-WERKS,
    END OF TP_MARC.
    TYPES: BEGIN OF TP_AUFK,
    AUFNR TYPE AUFK-AUFNR,
    AUART TYPE AUFK-AUART,
    END OF TP_AUFK.
    TYPES: BEGIN OF TP_TEMP1,
    MBLNR TYPE MKPF-MBLNR,
    BUDAT TYPE MKPF-BUDAT,
    MATNR TYPE MSEG-MATNR,
    ZEILE TYPE MSEG-ZEILE,
    BWART TYPE MSEG-BWART,
    ERFMG TYPE MSEG-ERFMG,
    ERFME TYPE MSEG-ERFME,
    AUFNR TYPE AFPO-AUFNR,
    VERID TYPE AFPO-VERID,
    TEXT1 TYPE MKAL-TEXT1,
    MAKTX TYPE MAKT-MAKTX,
    AUART TYPE AUFK-AUART,
    END OF TP_TEMP1.
    DATA: IT_TEMP1 TYPE STANDARD TABLE OF TP_TEMP1.
    DATA: IT_MKPF TYPE STANDARD TABLE OF TP_MKPF.
    DATA: IT_MSEG TYPE STANDARD TABLE OF TP_MSEG.
    DATA: IT_AFPO TYPE STANDARD TABLE OF TP_AFPO.
    DATA: IT_MKAL TYPE STANDARD TABLE OF TP_MKAL.
    DATA: IT_MAKT TYPE STANDARD TABLE OF TP_MAKT.
    DATA: IT_AUFK TYPE STANDARD TABLE OF TP_AUFK.
    DATA: IT_MARC TYPE STANDARD TABLE OF TP_MARC.
    work area.
    DATA: WA_TEMP1 TYPE TP_TEMP1 ,
          WA_MKPF TYPE TP_MKPF,
          WA_MSEG TYPE TP_MSEG,
          WA_AFPO TYPE TP_AFPO,
          WA_MKAL TYPE TP_MKAL,
          WA_MAKT TYPE TP_MAKT,
          WA_MARC TYPE TP_MARC,
          WA_AUFK TYPE TP_AUFK.
    START-OF-SELECTION.
      SELECT MBLNR MJAHR BUDAT INTO TABLE  IT_MKPF FROM MKPF
      WHERE BUDAT IN S_DATUM.
      IF NOT IT_MKPF IS INITIAL.
        SELECT MBLNR MJAHR ZEILE BWART MATNR WERKS ERFMG ERFME INTO TABLE IT_MSEG FROM MSEG
        FOR ALL ENTRIES IN IT_MKPF
        WHERE MBLNR = IT_MKPF-MBLNR
        AND MJAHR = IT_MKPF-MJAHR
        AND BWART BETWEEN '101' AND '102'
        AND WERKS = P_WERKS
        AND ERFMG = 0
        AND AUFNR = SPACE.
      ENDIF.
      IF NOT IT_MSEG IS INITIAL.
        SELECT AFPOAUFNR AFPOMATNR AFPO~VERID INTO TABLE IT_AFPO FROM AFPO
        INNER JOIN AUFK
        ON AFPOAUFNR = AUFKAUFNR
        INNER JOIN AFKO
        ON AUFKAUFNR = AFKOAUFNR
        FOR ALL ENTRIES IN IT_MSEG
        WHERE AFPO~AUFNR = IT_MSEG-AUFNR
        AND MATNR = IT_MSEG-MATNR.
      ENDIF.
      IF NOT IT_MSEG IS INITIAL.
        SELECT MATNR WERKS VERID TEXT1 INTO TABLE IT_MKAL FROM MKAL
        FOR ALL ENTRIES IN IT_MSEG
        WHERE MATNR = IT_MSEG-MATNR
        AND WERKS = IT_MSEG-WERKS.
      ENDIF.
      IF NOT IT_MKAL IS INITIAL.
        SELECT MATNR WERKS INTO TABLE IT_MARC FROM MARC
        FOR ALL ENTRIES IN IT_MKAL
        WHERE MATNR = IT_MKAL-MATNR.
      ENDIF.
      IF NOT IT_MARC IS INITIAL.
        SELECT MATNR MAKTX INTO TABLE IT_MAKT FROM MAKT
          FOR ALL ENTRIES IN IT_MARC
          WHERE MATNR = IT_MARC-MATNR.
      ENDIF.
      IF NOT IT_AFPO IS INITIAL.
        SELECT AUFNR AUART INTO TABLE IT_AUFK FROM AUFK
        FOR ALL ENTRIES IN IT_AFPO
        WHERE AUFNR = IT_AFPO-AUFNR.
      ENDIF.
      LOOP AT IT_MKPF INTO WA_MKPF.
        WA_TEMP1-MBLNR = WA_MKPF-MBLNR.
        WA_TEMP1-BUDAT = WA_MKPF-BUDAT.
        READ TABLE IT_MSEG WITH KEY MBLNR = WA_MKPF-MBLNR
                                    WERKS = P_WERKS
                                    ERFMG = 0
                                    AUFNR = SPACE
                                    INTO WA_MSEG.
        IF SY-SUBRC = 0.
          WA_TEMP1-MATNR = WA_MSEG-MATNR.
          WA_TEMP1-ZEILE = WA_MSEG-ZEILE.
          WA_TEMP1-BWART = WA_MSEG-BWART.
          WA_TEMP1-ERFMG = WA_MSEG-ERFMG.
          WA_TEMP1-ERFME = WA_MSEG-ERFME.
          READ TABLE IT_AFPO WITH KEY AUFNR = WA_MSEG-AUFNR
                                      MATNR = WA_MSEG-MATNR
                                      INTO WA_AFPO.
          IF SY-SUBRC = 0.
            WA_TEMP1-AUFNR = WA_AFPO-AUFNR.
            WA_TEMP1-VERID = WA_AFPO-VERID.
            READ TABLE IT_AUFK WITH KEY AUFNR = WA_AFPO-AUFNR
                                        INTO WA_AUFK.
            IF SY-SUBRC = 0.
              WA_TEMP1-AUART = WA_AUFK-AUART.
            ENDIF.
          ENDIF.
          READ TABLE IT_MKAL WITH KEY MATNR = WA_MSEG-MATNR
                                      WERKS = WA_MSEG-WERKS
                                      INTO WA_MKAL.
          IF SY-SUBRC = 0 .
            WA_TEMP1-TEXT1 = WA_MKAL-TEXT1.
            READ TABLE IT_MARC WITH KEY MATNR = WA_MKAL-MATNR
                                        WERKS = WA_MSEG-WERKS
                                        INTO WA_MARC.
            IF SY-SUBRC = 0.
              READ TABLE IT_MAKT WITH KEY MATNR = WA_MARC-MATNR
                                          INTO WA_MAKT.
              IF SY-SUBRC = 0 .
                WA_TEMP1-MAKTX = WA_MAKT-MAKTX.
              ENDIF.
            ENDIF.
          ENDIF.
          APPEND WA_TEMP1 TO IT_TEMP1.
          CLEAR: WA_TEMP1 , WA_MKPF , WA_MSEG , WA_AFPO , WA_MKAL , WA_MAKT, WA_MARC , WA_AUFK.
        ENDIF.
      ENDLOOP.
    Thanks,
    Nelson

  • Oracle Reports running very slow

    The same Oracle reports, which used to take 15 seconds to complete, now takes about 4 minutes to complete. Any ideas? Thank you.
    null

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by JS:
    Thank you for your reply. Could you be more specific about network problem? We've changed our web application server and reports server settings recently. What could cause network problems? <HR></BLOCKQUOTE>
    Well, I would suggest that you got to be very clear with the query. Most of the report peformace is based on the query.
    1. Make sure that query is fine and note down the time it takes.
    2. If first step is clear and if you are happy with the output that is process time, then you can think about tuning the report.
    ( You may want skip this step)
    3. If that does not work you can investigate
    what kind of array it uses and network speed and other thinks. I am not really familior with these set up.
    Good luck with it..
    Regards ...
    Krishna ...
    null

Maybe you are looking for

  • I deleted some apps in Firefox 4, opened 3.6, closed it, and opened 4 again. But now Firefox 4 is having some severe problems.

    After doing what I described in the thread title, Firefox 4 presented the following issues: 1- Tabs would not close. 2- The "forward" and "back" button would not be lit or clickable, as if I didn't visit any websites. Although pages did load, I could

  • Pending payment/order

    can anyone here help to check why I have two 2 years' old pending transaction? thanks.,

  • Warning Msg - While checking Mulitproviders

    Hi Frds, When i am trying the check the mulitproviders, we are getting warning msg. Below is the warning msg which we getting. Error messages from point of view of OLAP processor: Message no. R7I127 Now we have upgrade our patch level from 16 to 21.

  • BP ESS and MSS

    Hello, I have SAP ERP 6.0 and portal 7.0 with ESS and MSS versión 1.0. We need to update to the versión 1.41 but in this link says that is required the EHP4 in the ERP. Is that true do we have to upgrade the ERP first? http://help.sap.com/erp2005_ehp

  • Splitting a Idoc message without BPM

    Hi , I have seen several posts on this topic splitting Messages with/without BPM. But I think I did not get the currect answer so far. Here is my scenario: We are using PI/XI 7.0 Sp 09, Idoc-XI-WM (third-party WMS systems) SAP(Idoc) - > XI (httpa dap