Efficiency

Hi,
I have a code
LOOP AT I_VBRK_VBRP.
    move sy-TABIX to vbrk_vbrp_indx.
    move-corresponding i_vbrk_vbrp to w_vbrk_vbrp.
    READ TABLE I_KONV WITH KEY KNUMV = I_VBRK_VBRP-KNUMV
                               KPOSN = I_VBRK_VBRP-POSNR
                               BINARY SEARCH.             
    IF SY-SUBRC NE 0.
      DELETE I_VBRK_VBRP.
    ELSE.
              LOOP AT I_KONV WHERE KNUMV = I_VBRK_VBRP-KNUMV
                             AND KPOSN = I_VBRK_VBRP-POSNR.
      IF I_VBRK_VBRP-KSCHL IS INITIAL
          OR NOT RB_AG5 IS INITIAL.
        MOVE I_KONV-KSCHL TO I_VBRK_VBRP-KSCHL.
                       MODIFY I_VBRK_VBRP index vbrk_vbrp_indx.
                     ELSE.
        MOVE I_KONV-KSCHL TO W_VBRK_VBRP-KSCHL.
        APPEND W_VBRK_VBRP.
        CLEAR  W_VBRK_VBRP.
                     ENDIF.
                ENDLOOP.
      ENDIF.
    ENDLOOP.
I want to merge the read operation in the second loop to make the operation more efficint.
Can anybody suggest me how to do?(without changing the output)

hi,
use like this.
read table I_KONV into <w_area> with key KNUMV = I_VBRK_VBRP-KNUMV
                                                               KPOSN = I_VBRK_VBRP-POSNR.
                                                               binary search.
if sy-subrc eq 0.
IF I_VBRK_VBRP-KSCHL IS INITIAL
OR NOT RB_AG5 IS INITIAL.
MOVE I_KONV-KSCHL TO I_VBRK_VBRP-KSCHL.
MODIFY I_VBRK_VBRP index vbrk_vbrp_indx.
ELSE.
MOVE I_KONV-KSCHL TO W_VBRK_VBRP-KSCHL.
APPEND W_VBRK_VBRP.
CLEAR W_VBRK_VBRP.
ENDIF.
endif.
<b><i>Reward points if useful</i></b>
Chandra

Similar Messages

  • How do I efficiently help multiple users to upgrade their devices?

    We have about 15 users using iPad, iPad1, and iPhone4, now the iOS5 is avaialble to these devices, I want to figure out the most efficient way to help them all  upgrade to iOS5, while most of them do not have iTunes installed on their workstations, some of them even doesn't have a workstation. Their devides were activated on my computer, and each Apple ID was created on each device.
    From my understanding on iDevices, I need to authorize each account on iTunes, to perform a backup, upgrade, and full restore. But if I do them all on my computer, my computer will have collection of contents from 15 Apple ID accounts, it would have to download all apps which were installed by all different users, under one copy of iTunes,  that is going to make a mess.
    And I can't do it on each of their computers because (1) some users don't have workstation, (2) we do not want them to interact with iTunes, it creates more need of management and support from IT department.
    So as an IT guy here, what should I do ?  One idea I came up with, which might be stupid, is to configure iTunes and authorize different apple ID's, under different Windwos profile, so one user's app don't get mixed with another one's.  I know technically speaking user A's apps won't be sync'ed into user B's device, but I just don't fele comfortable mixing them together and see that it sync'ed 25 out of 80 apps into one upgraded device, that will create some confusions.

    anybody, any idea ?

  • Implicit Join or Explicit Join...which is more efficient???

    Which is more efficient?
    An IMPLICIT JOIN
    SELECT TableA.ColumnA1,
    TableB.ColumnB2
    FROM TableA,
    TableB
    WHERE TableA.ColumnA1 = TableB.ColumnB1
    Or....An EXPLICIT JOIN
    SELECT TableA.ColumnA1,
    TableB.ColumnB2
    FROM TableA
    INNER JOIN TableB
    ON TableA.ColumnA1 = TableB.ColumnB1
    I have to write a pretty extensive query and there will be many parts and I just want to try and make sure it is efficient as possible. Can I EXPLAIN this in SQL Navigator as well to find out???
    Thanks in advance for your review and hopeful for a reply.
    PSULionRP

    Alex Nuijten wrote:
    The Partition Outer Join is very handy, but it's an Oracle-ism - Not ANSI ...Ooh, "New thing learnt today" - check.
    but then again who cares? ;)Oracle roolz! *{;-D                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Most efficient way to delete "removed" photos from hard disk?

    Hello everyone! Glad to have this great community to come to for help. I searched for this question but came up with no hits. If it's already been discussed, I apologize and would love to be directed to the link.
    My wife and I have been using LR for a long time. We're currently on version 4. Unfortunately, she's not as tech-savvy or meticulous as I am, and she has been unknowingly "Removing" photos from the LR catalogues when she really meant to delete them from the hard disk. That means we have hundreds of unwanted raw photo files floating around in our computer and no way to pick them out from the ones we want! As a very organized and space-conscious person, I can't stand the thought. So my question is, what is the most efficient way to permanently delete these unwanted photos from the hard disk
    I did fine one suggestion that said to synchronize the parent folder with their respective catalogues, select all the photos in "Previous Import," and delete those, since they will be all of the photos that were previously removed from the catalogue.
    This is a great suggestion, but it probably wouldn't work for all of my catalogues since my file structure is organized by date (the default setting for LR). So, two catalogues will share the same "parent folder" in the sense that they both have photos from May 2013, but if I synchronize May 2013 with one, then it will get all the duds PLUS the photos that belong in the other catalogue.
    Does anyone have any suggestions? I know there's probably not an easy fix, and I'm willing to put in some time. I just want to know if there is a solution and make sure I'm working as efficiently as possible.
    Thank you!
    Kenneth

    I have to agree with the comment about multiple catalogs referring to images that are mixed in together... and the added difficulty that may have brought here.
    My suggestions (assuming you are prepared to combine the current catalogs into one)
    in each catalog, put a distinctive keyword onto all the images so that you can later discriminate these images as to which particular catalog they were formerly in (just in case this is useful information later)
    as John suggests, use File / "Import from Catalog" to bring all LR images together into one catalog.
    then in order to separate out the image files that ARE imported to LR, from those which either never were / have been removed, I would duplicate just the imported ones, to an entirely separate and dedicated disk location. This may require the temporary use of an external drive, with enough space for everything.
    to do this, highlight all the images in the whole catalog, then use File / "Export as Catalog" selecting the option "include negatives". Provide a filename and location for the catalog inside your chosen new saving location. All the image files that are imported to the catalog will be selectively copied into this same location alongside the new catalog. The same relative arrangement of subfolders will be created there, for them all to live inside, as is seen currently. But image files that do not feature in LR currently, will be left behind by this operation.
    your new catalog is now functional, referring to the copied image files. Making sure you have a full backup first, you can start deleting image files from the original location, that you believe to be unwanted. You can do this safe in the knowledge that anything LR is actively relying on, has already been duplicated elsewhere. So you can be quite aggressive at this, only watching out for image files that are required for other purposes (than as master data for Lightroom) - e.g., the exported JPG files you may have made.
    IMO it is a good idea to practice a full separation of image files used in your LR image library, from all other image files. This separation means you know where it is safe to manage images freely using the OS, vs where (what I think of as the LR-managed storage area) you need to bear LR's requirements constantly in mind. Better for discrete backup, too.
    In due course, as required, the copied image files plus catalog can be moved bodily to another drive (for example, if they have been temporarily put on an external drive, and you want to store them on your main internal one again). This then just requires a single re-browsing of their parent folder's location, in order to correct LR's records inside this catalog, as to the image files' changed addresses.
    If you don't want to combine the catalogs into one, a similar set of operations as above, can be carried out for each separate catalog you have now. This will create a separate folder structure in each case, containing just those duplicated image files. Once this has been done for all catalogs, you can start to clean up the present image files location. IMO this is very much the laborious and inflexible option, so far as future management of the total body of images is concerned... though there may still be some overriding reason for working that way.
    RP

  • EFFICIENT way of escalating an open task

    I need to escalate TASKS that are still open after 31 days.
    I figure i need 2 workflows to do this.
    As i see it right now:
    1st WF. Waits for 31 days after the task has been created. On the 31st day it changes a read only field called "escalate" to YES.
    2nd WF checks for changes in tasks where: If (Status=OPEN AND escalate<>pre(escalate)) is true then send an escalete email or task.
    Is there a more efficient way of doing this?
    TIA
    Paul

    Is there a reason you want two worfklows? Why not put an e-mail action after the Wait on the same workflow? If you check the "Reevaluate Rule Conditions After Wait" checkbox on the Wait action, the workflow rule will be re-evaluated after your 31 days... so it would only send the e-mail message if the Task is still open (assuming your workflow condition is set to look at Status = Open).
    Chris

  • Efficiency of decoding and displaying image files?

    BRIEF SUMMARY
    My question is this: can Flash Player download JPG and GIF
    files from a server and rapidly open/decode them, ready for
    display, efficiently and
    entirely 'in memory'?
    Would Flex be a good choice of language for developing a RIA
    that needs to continually download lots of JPG and GIF images
    on-the-fly from the server and render them on the screen? I *don't*
    want my application to thrash the hard disc.
    BACKGROUND
    I am designing a 'rich' web app, and I'm investigating
    whether Flex is the right tool for the job.
    Although Flash's animation features are an obvious selling
    point for implementing my user interface, I also need to do some
    server-side rendering. What I want to do is perhaps a little
    unorthodox: I will be generating lots of GIF and JPG files on the
    fly and these will be streamed to the client (along with other
    application data, e.g. in XML format) to update different parts of
    the on-screen document. In need this to happen very quickly (in
    some cases, creating the effect of animation).
    It happens that JPGs and 16-colour GIFs will be, by far, the
    most efficient formats for streaming the images, because of the
    nature of the application. I could of course send the images in
    some proprietary format, geared for my application, but presumably
    decoding the images would be slow as I would have to implement this
    myself in ActionScript, and so I would be limited by the speed of
    Flex 'bytecode'. (I realise Flash is a lot more optimised than it
    once was, but I am hoping to see a gain from using image formats
    that Flash natively understands!)
    Naturally the internet bandwidth should (in principle) be the
    bottleneck. However, assuming I can get my image files to the
    client on time, want I want to know is:
    how efficient is Flash at loading such files?
    Bearing in mind that I'm not just displaying the occasional
    image -- I will be doing this continuously. Most of the images
    won't be huge, but there will be several separate images per
    second.
    The image files will be a mixture of normal colour JPGs and
    4-bit colour GIFs (LZW-compressed). I know that Flash natively
    supports these formats, but depending on how Adobe have implemented
    their LZW/Huffman decoding and so on, and how much overhead there
    is in opening/processing downloaded image files before they are
    ready to 'blit' to the screen, I imagine this could be pretty fast
    or pretty slow!
    If my client only has a modest PC, I don't want the JPG/GIF
    decoding alone to be thrashing his CPU (or indeed the disc) before
    I've even got started on 'Flashy' vector stuff.
    I'm new to Flash, so are there any 'gotchas' I need to know
    about?
    E.g. Would it be fair to assume Flash Player will do the
    decoding of the downloaded image entirely 'in memory' without
    trying to do anything clever like caching the file to disc, or
    calling any libraries which might slow down the whole process? It
    would be no good at all if the images were first written to the
    client's hard disc before being ready to display, for example.
    Further, if I'm doing something a little out-of-the-ordinary,
    and there is no 'guarantee' that images will be loaded quickly,
    what I'm doing might be a bad idea if a later version of Flash
    Player may (for example) suddenly start doing some disc access in
    the process of opening a newly downloaded image. So, while I could
    just 'try it and see', what I really need is some assurance that
    what I'm doing is sensible and is likely to carry on working in
    future.
    Finally, I imagine JPG/GIF decoding could be something that
    would vary from platform to platform (e.g. for the sake of
    argument, Flash Player for Windows could use a highly-optimised
    library, but other versions could be very inefficient).
    This could be the 'make or break' of my application, so all
    advice is welcome! :) Thanks in advance.

    You need a servlet/jsf component to render the image in the response.
    Look at this: http://www.irian.at/myfaces-sandbox/graphicImageDynamic.jsf

  • Report on Smartform..To make it efficient by removing SELECT ,ENDSELECT

    To make a smartform report efficient by removing all occurs & modify internal table statements.
    What i have been given to do is to select all data from respective tables put them into one internal table & then finally making tab2 or tab3 in the report to be the final table.I am not sure which among these two i can make final table.
    THE CODE is:
    REPORT  zgr_note.
    TABLES : mseg,  "Document Segment : Material
             prps,  "WBS element master data
             proj,  "Project Definition
             mkpf,  "Header : Material Document
             lfa1,  "Vendor Master
             makt,  "Material Description
             aufk,  "Order Master Data
             afvc.  "Operation within an order
    DATA : fname LIKE rs38l-name. "Name of Function Module
    DATA: lf_fm_name            TYPE rs38l_fnam.
    DATA: ls_control_param      TYPE ssfctrlop.
    DATA: ls_composer_param     TYPE ssfcompop.
    DATA: ls_recipient          TYPE swotobjid.
    DATA: ls_sender             TYPE swotobjid.
    DATA: lf_formname           TYPE tdsfname.
    DATA: ls_addr_key           LIKE addr_key.
    DATA: ls_dlv_land           LIKE vbrk-land1.
    DATA: ls_job_info           TYPE ssfcrescl.
    DATA: ls_otpt_opt           TYPE ssfcompop.
    DATA: retcode TYPE sy-subrc.
    DATA: cntr TYPE i VALUE 0.
    DATA: cntr1 TYPE i .
    DATA: number TYPE SSFCRESCL-SPOOLIDS. " OCCURS 0 WITH HEADER LINE.
    DATA: TSP01 type TABLE OF TSP01_SP0R.
    DATA : BEGIN OF itab OCCURS 0.
            INCLUDE STRUCTURE mseg.
    DATA : post1 LIKE proj-post1,           "Project Definition
           pspnr LIKE proj-pspnr,           "WBS element
           maktx LIKE makt-maktx,           "Material Description
           name1 LIKE lfa1-name1,           "Name of the supplier
           budat LIKE mkpf-budat,           "Posting date
           bldat LIKE mkpf-bldat,           "Document date
           cpudt LIKE mkpf-cpudt,           "Date on which account document was entered
           psphi LIKE prps-psphi,           "Current number of project
           post2 LIKE prps-post1,           "WBS Definition
           xblnr LIKE mkpf-xblnr,           "Reference number( in this case challan number)
           bktxt LIKE mkpf-bktxt,           "Header text
           ort01 LIKE lfa1-ort01,           "vendor city
           ktext LIKE aufk-ktext,           "network description
           ltxa1 LIKE afvc-ltxa1.           "operation short text
    DATA : END OF itab.
    DATA : BEGIN OF jtab OCCURS 0.
            INCLUDE STRUCTURE itab.
    DATA : END OF jtab.
    DATA : itab1 LIKE itab OCCURS 0
          WITH HEADER LINE.
    DATA :itab2 LIKE itab OCCURS 0
          WITH HEADER LINE.
    DATA: itab3 LIKE itab OCCURS 0 WITH HEADER LINE.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text_001.
    SELECT-OPTIONS : gr_num FOR mseg-mblnr . "no INTERVALS.
    PARAMETERS : gr_note LIKE itemset-xopsel RADIOBUTTON GROUP rad1.
    SELECTION-SCREEN SKIP.
    SELECT-OPTIONS : mat_num FOR mseg-mblnr . "no INTERVALS.
    PARAMETERS : mat_slip LIKE itemset-xopsel RADIOBUTTON GROUP rad1.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN SKIP.
    CASE 'X'.
      WHEN gr_note.
        PERFORM gr_display.
      WHEN mat_slip.
        PERFORM mat_display.
    ENDCASE.
    FORM gr_display .
    *break developer1.
      SELECT mblnr mjahr matnr werks lgort lifnr menge meins
             erfmg bpmng ebeln ps_psp_pnr zeile lsmng erfme
      FROM mseg
      INTO CORRESPONDING FIELDS OF TABLE itab
       WHERE mblnr IN gr_num.
      LOOP AT itab.
        SELECT pspnr psphi post1 INTO CORRESPONDING FIELDS OF itab1
          FROM prps WHERE pspnr = itab-ps_psp_pnr.
          itab-psphi = itab1-psphi.
          itab-pspnr = itab1-pspnr.
          itab-post2 = itab1-post1.
          MODIFY itab TRANSPORTING psphi pspnr post2.
        ENDSELECT.
        SELECT post1 FROM proj INTO CORRESPONDING FIELDS OF itab2
        WHERE pspnr = itab-psphi.
          itab-post1 = itab2-post1.
          MODIFY itab TRANSPORTING post1.
        ENDSELECT.
        REFRESH itab2.
        SELECT maktx FROM makt INTO CORRESPONDING FIELDS OF itab2
          WHERE matnr = itab-matnr.
          itab-maktx = itab2-maktx.
          MODIFY itab TRANSPORTING maktx.
        ENDSELECT.
        REFRESH itab2.
        SELECT name1 ort01 FROM lfa1 INTO CORRESPONDING FIELDS OF itab2
          WHERE lifnr = itab-lifnr.
          itab-name1 = itab2-name1.
          itab-ort01 = itab2-ort01.
          MODIFY itab TRANSPORTING name1 ort01.
        ENDSELECT.
        REFRESH itab2.
        SELECT budat bldat cpudt xblnr bktxt FROM mkpf
          INTO CORRESPONDING FIELDS OF itab2
          WHERE mblnr = itab-mblnr.
          itab-budat = itab2-budat.
          itab-bldat = itab2-bldat.
          itab-cpudt = itab2-cpudt.
          itab-xblnr = itab2-xblnr.
          itab-bktxt = itab2-bktxt.
          MODIFY itab TRANSPORTING budat bldat cpudt xblnr bktxt.
        ENDSELECT.
      ENDLOOP.
      LOOP AT itab .
        ON CHANGE OF itab-mblnr.
          itab3-mblnr = itab-mblnr.
          itab3-post1 = itab-post1.
          itab3-post2 = itab-post2.
          itab3-name1 = itab-name1.
          itab3-ort01 = itab-ort01.
          itab3-bldat = itab-bldat.
          APPEND itab3.
          CLEAR itab3.
        ENDON.
      ENDLOOP.
      jtab-mblnr = itab-mblnr.
      jtab-xblnr = itab-xblnr.
      jtab-budat = itab-budat.
      jtab-bktxt = itab-bktxt.
      jtab-lsmng = itab-lsmng.
      jtab-erfmg = itab-erfmg.
      jtab-erfme = itab-erfme.
      jtab-matnr = itab-matnr.
      jtab-maktx = itab-maktx.
      jtab-zeile = itab-zeile.
      APPEND jtab.
      LOOP AT itab3.
        CLEAR: itab2,itab2[].
        LOOP AT itab WHERE mblnr = itab3-mblnr.
          MOVE-CORRESPONDING itab TO itab2.
          APPEND itab2.
          CLEAR itab2.
        ENDLOOP.
        CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
          EXPORTING
            formname                 = 'ZMM_GOODS_RECEIPT1'
      VARIANT                  = ' '
      DIRECT_CALL              = ' '
         IMPORTING
           fm_name                  = fname
    EXCEPTIONS
      NO_FORM                  = 1
      NO_FUNCTION_MODULE       = 2
      OTHERS                   = 3
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    *break developer1.
    PERFORM print_parameters.
        CALL FUNCTION fname
          EXPORTING
           control_parameters         = ls_control_param
           output_options             = ls_otpt_opt
           user_settings              = 'X'
           gr_mseg_hdr                = itab3
    IMPORTING
      DOCUMENT_OUTPUT_INFO       =
      JOB_OUTPUT_INFO            =
      JOB_OUTPUT_OPTIONS         =
          TABLES
            gr_mseg                    = itab2
         EXCEPTIONS
           formatting_error           = 1
           internal_error             = 2
           send_error                 = 3
           user_canceled              = 4
           OTHERS                     = 5
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " GR_DISPLAY
    FORM mat_display .
      SELECT mblnr mjahr matnr werks lgort lifnr menge meins
             erfmg bpmng ebeln ps_psp_pnr zeile lsmng erfme
             mat_pspnr nplnr aufpl aplzl
      FROM mseg
      INTO CORRESPONDING FIELDS OF TABLE itab
       WHERE mblnr IN mat_num.
      LOOP AT itab.
        SELECT ltxa1 FROM afvc INTO CORRESPONDING FIELDS OF itab1
          WHERE aufpl = itab-aufpl AND aplzl = itab-aplzl.
          itab-ltxa1 = itab1-ltxa1.
          MODIFY itab TRANSPORTING ltxa1.
        ENDSELECT.
        REFRESH itab1.
        SELECT ktext FROM aufk INTO CORRESPONDING FIELDS OF itab1
          WHERE aufnr = itab-nplnr.
          itab-ktext = itab1-ktext.
          MODIFY itab TRANSPORTING ktext.
        ENDSELECT.
        REFRESH itab1.
        SELECT pspnr psphi post1 INTO CORRESPONDING FIELDS OF itab1
          FROM prps WHERE pspnr = itab-mat_pspnr.
          itab-psphi = itab1-psphi.
          itab-pspnr = itab1-pspnr.
          itab-post2 = itab1-post1.
          MODIFY itab TRANSPORTING psphi pspnr post2.
        ENDSELECT.
        SELECT post1 FROM proj INTO CORRESPONDING FIELDS OF itab2
        WHERE pspnr = itab-psphi.
          itab-post1 = itab2-post1.
          MODIFY itab TRANSPORTING post1.
        ENDSELECT.
        REFRESH itab2.
        SELECT maktx FROM makt INTO CORRESPONDING FIELDS OF itab2
          WHERE matnr = itab-matnr.
          itab-maktx = itab2-maktx.
          MODIFY itab TRANSPORTING maktx.
        ENDSELECT.
        REFRESH itab2.
        SELECT name1 ort01 FROM lfa1 INTO CORRESPONDING FIELDS OF itab2
          WHERE lifnr = itab-lifnr.
          itab-name1 = itab2-name1.
          itab-ort01 = itab2-ort01.
          MODIFY itab TRANSPORTING name1 ort01.
        ENDSELECT.
        REFRESH itab2.
        SELECT budat bldat cpudt xblnr bktxt FROM mkpf
          INTO CORRESPONDING FIELDS OF itab2
          WHERE mblnr = itab-mblnr.
          itab-budat = itab2-budat.
          itab-bldat = itab2-bldat.
          itab-cpudt = itab2-cpudt.
          itab-xblnr = itab2-xblnr.
          itab-bktxt = itab2-bktxt.
         break developer1.
          MODIFY itab TRANSPORTING budat bldat cpudt xblnr bktxt.
        ENDSELECT.
      ENDLOOP.
      LOOP AT itab.
        ON CHANGE OF itab-mblnr.
          itab3-mblnr = itab-mblnr.
          itab3-budat = itab-budat.
          itab3-bldat = itab-bldat.
          itab3-post1 = itab-post1.
          itab3-ktext = itab-ktext.
          APPEND itab3.
          CLEAR itab3.
        ENDON.
      ENDLOOP.
      LOOP AT itab3.
        CLEAR: itab2, itab2[].
        LOOP AT itab WHERE mblnr EQ itab3-mblnr.
          MOVE-CORRESPONDING itab TO itab2.
          APPEND itab2.
          CLEAR itab2.
        ENDLOOP.
        CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
          EXPORTING
            formname                 = 'ZMM_MAT_ISSUE_SLIP'
      VARIANT                  = ' '
      DIRECT_CALL              = ' '
         IMPORTING
           fm_name                  = fname
    EXCEPTIONS
      NO_FORM                  = 1
      NO_FUNCTION_MODULE       = 2
      OTHERS                   = 3
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
        ls_control_param-no_dialog = 'X'.
    *ls_control_param-preview = 'X'.
    *ls_control_param-getotf = 'X'.
       ls_otpt_opt-tdnoprev = 'X'.
        ls_otpt_opt-tdnewid = ''.
        ls_otpt_opt-tdimmed = 'X'.
        ls_otpt_opt-tddest  = 'LP01'.
        CALL FUNCTION fname
          EXPORTING
        ARCHIVE_INDEX              =
        ARCHIVE_INDEX_TAB          =
        ARCHIVE_PARAMETERS         =
           control_parameters         = ls_control_param
        MAIL_APPL_OBJ              =
        MAIL_RECIPIENT             =
        MAIL_SENDER                =
           output_options             = ls_otpt_opt
           user_settings              = 'X'
            mat_slip_hdr               = itab3
       IMPORTING
        DOCUMENT_OUTPUT_INFO       =
         JOB_OUTPUT_INFO            = ls_job_info
        JOB_OUTPUT_OPTIONS         =
          TABLES
            mat_slip                   = itab2
      EXCEPTIONS
        FORMATTING_ERROR           = 1
        INTERNAL_ERROR             = 2
        SEND_ERROR                 = 3
        USER_CANCELED              = 4
        OTHERS                     = 5
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
      ENDLOOP.
    ENDFORM.

    Hello Saswat,
    There are a couple of criteria to make a SmartForm report efficient, i.e. to achieve a better performance:
    - provide the best possible interface to the temporary FM (fname). When you do so, SmartForm itself has not to perform so much programming stuff by itself.
    - The Driver program (zgr_note) has to be designed and coded well. What mean the performance of the Driver has to be optimized. In your case there should be a couple of performance improvements:
    -- adjust your program declaration to the new ABAP syntax, i.e. don't use OCCURS clauses and do not use HEADER LINE. Instead, implement TYPES and use them. Here is an example:
    TYPES: BEGIN OF ty_itab.
                 INCLUDE STRUCTURE mseg.
    TYPES: post1 LIKE proj-post1, "Project Definition
                 pspnr LIKE proj-pspnr, "WBS element
                 maktx LIKE makt-maktx, "Material Description
                 name1 LIKE lfa1-name1, "Name of the supplier
                 budat LIKE mkpf-budat, "Posting date
                 bldat LIKE mkpf-bldat, "Document date
                 cpudt LIKE mkpf-cpudt, "Date on which account document was entered
                 psphi LIKE prps-psphi, "Current number of project
                 post2 LIKE prps-post1, "WBS Definition
                 xblnr LIKE mkpf-xblnr, "Reference number( in this case challan number)
                 bktxt LIKE mkpf-bktxt, "Header text
                 ort01 LIKE lfa1-ort01, "vendor city
                 ktext LIKE aufk-ktext, "network description
                 ltxa1 LIKE afvc-ltxa1, "operation short text
                 END OF ty_itab.
    * Declare your internal tables and the corresponding working structures
    DATA: itab1 type standard table of ty_itab,
               itab2 type standard table of ty_itab,
               itab3 type standard table of ty_itab,
               jtab  type standard table of ty_itab,
              wa_itab1 type ty_itab,
              wa_itab2 type ty_itab,
              wa_itab3 type ty_itab,
              wa_jtab   type ty_itab.
    -- Don't use
    LOOP at itab.
      SELECT ...... WHERE pspnr = itab-ps_psp_pnr.
      ENDSELECT.
      SELECT * ...
      ENDSELECT
      SELECT * .....
      ENDSELECT
    ENDLOOP.
    Instead try to populate itab, itab1, itab2 each in ONE select statement using FOR ALL ENTRIES clause. After that you have to perform the LOOP runs using LOOP at itab INTO wa_itab. The more redundant SELECTs, the slower the program! When you perform a LOOP run, let say over itab1 and you need a corresponding record from table itab2 the use READ <itab> with key.
    One additional, very important hint: Using internal tables w/o header line the CLEAR statement has another functionality than with HEADER LINE
    CLEAR with HEADER LINE clears the HEADER line only
    CLEAR w/o HEADER LINE clears the entire table. CLEAR does the same as REFRESH.
    Another performance improvement is (when itab contains a lot of records) using FIELD-SYMBOLS.
    A simple example is
    FIELD-SYMBOLS: <fs> type itab.
    LOOP at itab assigning <fs>.
      wa_itab3-post1 = <fs>-post1.
      wa_itab3-post2 = <fs>-post2.
      APPEND wa_itab3 to itab.
    ENDLOOP.
    In this case no data values have to be transfered to a working field. The values are taken directly from the current line of the internal table.
    -- For better readability disign some events like START-OF-SELECTION, END-OF-SELECTION, INITIALIZATION and others.
    Try to gather all in SmartForms needed fields and pop them into table itab3.
    I hope this helps improving zgr_note's efficiency.
    Good luck,
    Heinz

  • Report on smartform.Replace select endselect with something to efficient it

    To make a smartform report efficient by removing all occurs & modify internal table statements.
    What i have been given to do is to select all data from respective tables put them into one internal table & then finally making tab2 or tab3 in the report to be the final table.I am not sure which among these two i can make final table.
    THE CODE is:
    REPORT  zgr_note.
    TABLES : mseg,  "Document Segment : Material
             prps,  "WBS element master data
             proj,  "Project Definition
             mkpf,  "Header : Material Document
             lfa1,  "Vendor Master
             makt,  "Material Description
             aufk,  "Order Master Data
             afvc.  "Operation within an order
    DATA : fname LIKE rs38l-name. "Name of Function Module
    DATA: lf_fm_name            TYPE rs38l_fnam.
    DATA: ls_control_param      TYPE ssfctrlop.
    DATA: ls_composer_param     TYPE ssfcompop.
    DATA: ls_recipient          TYPE swotobjid.
    DATA: ls_sender             TYPE swotobjid.
    DATA: lf_formname           TYPE tdsfname.
    DATA: ls_addr_key           LIKE addr_key.
    DATA: ls_dlv_land           LIKE vbrk-land1.
    DATA: ls_job_info           TYPE ssfcrescl.
    DATA: ls_otpt_opt           TYPE ssfcompop.
    DATA: retcode TYPE sy-subrc.
    DATA: cntr TYPE i VALUE 0.
    DATA: cntr1 TYPE i .
    DATA: number TYPE SSFCRESCL-SPOOLIDS. " OCCURS 0 WITH HEADER LINE.
    DATA: TSP01 type TABLE OF TSP01_SP0R.
    DATA : BEGIN OF itab OCCURS 0.
            INCLUDE STRUCTURE mseg.
    DATA : post1 LIKE proj-post1,           "Project Definition
           pspnr LIKE proj-pspnr,           "WBS element
           maktx LIKE makt-maktx,           "Material Description
           name1 LIKE lfa1-name1,           "Name of the supplier
           budat LIKE mkpf-budat,           "Posting date
           bldat LIKE mkpf-bldat,           "Document date
           cpudt LIKE mkpf-cpudt,           "Date on which account document was entered
           psphi LIKE prps-psphi,           "Current number of project
           post2 LIKE prps-post1,           "WBS Definition
           xblnr LIKE mkpf-xblnr,           "Reference number( in this case challan number)
           bktxt LIKE mkpf-bktxt,           "Header text
           ort01 LIKE lfa1-ort01,           "vendor city
           ktext LIKE aufk-ktext,           "network description
           ltxa1 LIKE afvc-ltxa1.           "operation short text
    DATA : END OF itab.
    DATA : BEGIN OF jtab OCCURS 0.
            INCLUDE STRUCTURE itab.
    DATA : END OF jtab.
    DATA : itab1 LIKE itab OCCURS 0
          WITH HEADER LINE.
    DATA :itab2 LIKE itab OCCURS 0
          WITH HEADER LINE.
    DATA: itab3 LIKE itab OCCURS 0 WITH HEADER LINE.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text_001.
    SELECT-OPTIONS : gr_num FOR mseg-mblnr . "no INTERVALS.
    PARAMETERS : gr_note LIKE itemset-xopsel RADIOBUTTON GROUP rad1.
    SELECTION-SCREEN SKIP.
    SELECT-OPTIONS : mat_num FOR mseg-mblnr . "no INTERVALS.
    PARAMETERS : mat_slip LIKE itemset-xopsel RADIOBUTTON GROUP rad1.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN SKIP.
    CASE 'X'.
      WHEN gr_note.
        PERFORM gr_display.
      WHEN mat_slip.
        PERFORM mat_display.
    ENDCASE.
    FORM gr_display .
    *break developer1.
      SELECT mblnr mjahr matnr werks lgort lifnr menge meins
             erfmg bpmng ebeln ps_psp_pnr zeile lsmng erfme
      FROM mseg
      INTO CORRESPONDING FIELDS OF TABLE itab
       WHERE mblnr IN gr_num.
      LOOP AT itab.
        SELECT pspnr psphi post1 INTO CORRESPONDING FIELDS OF itab1
          FROM prps WHERE pspnr = itab-ps_psp_pnr.
          itab-psphi = itab1-psphi.
          itab-pspnr = itab1-pspnr.
          itab-post2 = itab1-post1.
          MODIFY itab TRANSPORTING psphi pspnr post2.
        ENDSELECT.
        SELECT post1 FROM proj INTO CORRESPONDING FIELDS OF itab2
        WHERE pspnr = itab-psphi.
          itab-post1 = itab2-post1.
          MODIFY itab TRANSPORTING post1.
        ENDSELECT.
        REFRESH itab2.
        SELECT maktx FROM makt INTO CORRESPONDING FIELDS OF itab2
          WHERE matnr = itab-matnr.
          itab-maktx = itab2-maktx.
          MODIFY itab TRANSPORTING maktx.
        ENDSELECT.
        REFRESH itab2.
        SELECT name1 ort01 FROM lfa1 INTO CORRESPONDING FIELDS OF itab2
          WHERE lifnr = itab-lifnr.
          itab-name1 = itab2-name1.
          itab-ort01 = itab2-ort01.
          MODIFY itab TRANSPORTING name1 ort01.
        ENDSELECT.
        REFRESH itab2.
        SELECT budat bldat cpudt xblnr bktxt FROM mkpf
          INTO CORRESPONDING FIELDS OF itab2
          WHERE mblnr = itab-mblnr.
          itab-budat = itab2-budat.
          itab-bldat = itab2-bldat.
          itab-cpudt = itab2-cpudt.
          itab-xblnr = itab2-xblnr.
          itab-bktxt = itab2-bktxt.
          MODIFY itab TRANSPORTING budat bldat cpudt xblnr bktxt.
        ENDSELECT.
      ENDLOOP.
      LOOP AT itab .
        ON CHANGE OF itab-mblnr.
          itab3-mblnr = itab-mblnr.
          itab3-post1 = itab-post1.
          itab3-post2 = itab-post2.
          itab3-name1 = itab-name1.
          itab3-ort01 = itab-ort01.
          itab3-bldat = itab-bldat.
          APPEND itab3.
          CLEAR itab3.
        ENDON.
      ENDLOOP.
      jtab-mblnr = itab-mblnr.
      jtab-xblnr = itab-xblnr.
      jtab-budat = itab-budat.
      jtab-bktxt = itab-bktxt.
      jtab-lsmng = itab-lsmng.
      jtab-erfmg = itab-erfmg.
      jtab-erfme = itab-erfme.
      jtab-matnr = itab-matnr.
      jtab-maktx = itab-maktx.
      jtab-zeile = itab-zeile.
      APPEND jtab.
      LOOP AT itab3.
        CLEAR: itab2,itab2[].
        LOOP AT itab WHERE mblnr = itab3-mblnr.
          MOVE-CORRESPONDING itab TO itab2.
          APPEND itab2.
          CLEAR itab2.
        ENDLOOP.
        CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
          EXPORTING
            formname                 = 'ZMM_GOODS_RECEIPT1'
      VARIANT                  = ' '
      DIRECT_CALL              = ' '
         IMPORTING
           fm_name                  = fname
    EXCEPTIONS
      NO_FORM                  = 1
      NO_FUNCTION_MODULE       = 2
      OTHERS                   = 3
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    *break developer1.
    PERFORM print_parameters.
        CALL FUNCTION fname
          EXPORTING
           control_parameters         = ls_control_param
           output_options             = ls_otpt_opt
           user_settings              = 'X'
           gr_mseg_hdr                = itab3
    IMPORTING
      DOCUMENT_OUTPUT_INFO       =
      JOB_OUTPUT_INFO            =
      JOB_OUTPUT_OPTIONS         =
          TABLES
            gr_mseg                    = itab2
         EXCEPTIONS
           formatting_error           = 1
           internal_error             = 2
           send_error                 = 3
           user_canceled              = 4
           OTHERS                     = 5
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " GR_DISPLAY
    FORM mat_display .
      SELECT mblnr mjahr matnr werks lgort lifnr menge meins
             erfmg bpmng ebeln ps_psp_pnr zeile lsmng erfme
             mat_pspnr nplnr aufpl aplzl
      FROM mseg
      INTO CORRESPONDING FIELDS OF TABLE itab
       WHERE mblnr IN mat_num.
      LOOP AT itab.
        SELECT ltxa1 FROM afvc INTO CORRESPONDING FIELDS OF itab1
          WHERE aufpl = itab-aufpl AND aplzl = itab-aplzl.
          itab-ltxa1 = itab1-ltxa1.
          MODIFY itab TRANSPORTING ltxa1.
        ENDSELECT.
        REFRESH itab1.
        SELECT ktext FROM aufk INTO CORRESPONDING FIELDS OF itab1
          WHERE aufnr = itab-nplnr.
          itab-ktext = itab1-ktext.
          MODIFY itab TRANSPORTING ktext.
        ENDSELECT.
        REFRESH itab1.
        SELECT pspnr psphi post1 INTO CORRESPONDING FIELDS OF itab1
          FROM prps WHERE pspnr = itab-mat_pspnr.
          itab-psphi = itab1-psphi.
          itab-pspnr = itab1-pspnr.
          itab-post2 = itab1-post1.
          MODIFY itab TRANSPORTING psphi pspnr post2.
        ENDSELECT.
        SELECT post1 FROM proj INTO CORRESPONDING FIELDS OF itab2
        WHERE pspnr = itab-psphi.
          itab-post1 = itab2-post1.
          MODIFY itab TRANSPORTING post1.
        ENDSELECT.
        REFRESH itab2.
        SELECT maktx FROM makt INTO CORRESPONDING FIELDS OF itab2
          WHERE matnr = itab-matnr.
          itab-maktx = itab2-maktx.
          MODIFY itab TRANSPORTING maktx.
        ENDSELECT.
        REFRESH itab2.
        SELECT name1 ort01 FROM lfa1 INTO CORRESPONDING FIELDS OF itab2
          WHERE lifnr = itab-lifnr.
          itab-name1 = itab2-name1.
          itab-ort01 = itab2-ort01.
          MODIFY itab TRANSPORTING name1 ort01.
        ENDSELECT.
        REFRESH itab2.
        SELECT budat bldat cpudt xblnr bktxt FROM mkpf
          INTO CORRESPONDING FIELDS OF itab2
          WHERE mblnr = itab-mblnr.
          itab-budat = itab2-budat.
          itab-bldat = itab2-bldat.
          itab-cpudt = itab2-cpudt.
          itab-xblnr = itab2-xblnr.
          itab-bktxt = itab2-bktxt.
         break developer1.
          MODIFY itab TRANSPORTING budat bldat cpudt xblnr bktxt.
        ENDSELECT.
      ENDLOOP.
      LOOP AT itab.
        ON CHANGE OF itab-mblnr.
          itab3-mblnr = itab-mblnr.
          itab3-budat = itab-budat.
          itab3-bldat = itab-bldat.
          itab3-post1 = itab-post1.
          itab3-ktext = itab-ktext.
          APPEND itab3.
          CLEAR itab3.
        ENDON.
      ENDLOOP.
      LOOP AT itab3.
        CLEAR: itab2, itab2[].
        LOOP AT itab WHERE mblnr EQ itab3-mblnr.
          MOVE-CORRESPONDING itab TO itab2.
          APPEND itab2.
          CLEAR itab2.
        ENDLOOP.
        CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
          EXPORTING
            formname                 = 'ZMM_MAT_ISSUE_SLIP'
      VARIANT                  = ' '
      DIRECT_CALL              = ' '
         IMPORTING
           fm_name                  = fname
    EXCEPTIONS
      NO_FORM                  = 1
      NO_FUNCTION_MODULE       = 2
      OTHERS                   = 3
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
        ls_control_param-no_dialog = 'X'.
    *ls_control_param-preview = 'X'.
    *ls_control_param-getotf = 'X'.
       ls_otpt_opt-tdnoprev = 'X'.
        ls_otpt_opt-tdnewid = ''.
        ls_otpt_opt-tdimmed = 'X'.
        ls_otpt_opt-tddest  = 'LP01'.
        CALL FUNCTION fname
          EXPORTING
        ARCHIVE_INDEX              =
        ARCHIVE_INDEX_TAB          =
        ARCHIVE_PARAMETERS         =
           control_parameters         = ls_control_param
        MAIL_APPL_OBJ              =
        MAIL_RECIPIENT             =
        MAIL_SENDER                =
           output_options             = ls_otpt_opt
           user_settings              = 'X'
            mat_slip_hdr               = itab3
       IMPORTING
        DOCUMENT_OUTPUT_INFO       =
         JOB_OUTPUT_INFO            = ls_job_info
        JOB_OUTPUT_OPTIONS         =
          TABLES
            mat_slip                   = itab2
      EXCEPTIONS
        FORMATTING_ERROR           = 1
        INTERNAL_ERROR             = 2
        SEND_ERROR                 = 3
        USER_CANCELED              = 4
        OTHERS                     = 5
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
      ENDLOOP.
    ENDFORM.

    Hi saswat mohanty ,
    Welcome to SDN.  Ya your program takes lot of time to give the output becauase of more select endselects in  a loop.
    You are hitting as  many times as the records in the ITAB.
    Instead use "for all entries"   clause for fetching the complete data from a table atonce.
    Example: your itab is there.
    Select *  from  xyz
       into table itab2
       for all entries in itab
    where  field1 eq itab-field1
        and field2 eq itab-field2.
    After fetching the data you can populate the final table by looping through ITAB  and itab2.
    This is best procedure to reduce the load on database.
    Implement this in your program to improve performance.
    REWARD POINTS IF USEFUL.
    Venkat.

  • SQL query with multiple tables - what is the most efficient way?

    Hello I am learning PL/SQL. I have a simple procedure where I need to find number of employees and departments per location as per user input of location_id.
    I have 3 Tables:
    LOCATIONS
    location_id (pk)
    location_name
    DEPARTMENTS
    department_id (pk)
    location_id (fk)
    department_name
    EMPLOYEES
    employee_id (pk)
    department_id (fk)
    employee_name
    1 Location can have 0-MANY Departments
    1 Employee has 1 Department
    Here is the query I came up with for PL/SQL procedure:
    /*Ecount, Dcount are NUMBER variables */
    SELECT SUM (EmployeeCount), COUNT(DepartmentNumber)
         INTO Ecount, Dcount
         FROM     
         (SELECT COUNT(employee_id) EmployeeCount, department_id DepartmentNumber
              FROM employees
              GROUP BY department_id
              HAVING department_id IN
                        (SELECT department_id
                        FROM departments
                        WHERE location_id = userInput));
    I do get the correct result, but I am just wondering if my query is on the right track and if there is a more "efficient" way of doing this.
    Thanks in advance for helping a newbie out.

    Hi,
    Welcome to the forum!
    Something like this will be more efficient:
    SELECT    COUNT (employee_id)               AS ECount
    ,       COUNT (DISTINCT department_id)     AS DCount
    FROM       employees
    WHERE       department_id IN (     SELECT     department_id
                        FROM      departments
                        WHERE      location_id = :userInput
    ;You should also try a join instead of the IN subquery.
    For efficiency, do only the things you need to do.
    For example, you don't need a count of employees in each department, so don't compute one. That means you won't need the in-line view, so don't have one.
    You don't need PL/SQL for this job, so don't use PL/SQL if you don't have to. (I realize this question was out of context, so you may have good reasons for doing this in PL/SQL.)
    Do all filtering as early as possible. Don't waste effort computing things that won't be used .
    A particular example of this is: Never use a HAVING clause when you can use a WHERE clause. What's the difference between a WHERE clause and a HAVING clause? The WHERE clause is applied before aggregate functions are computed, and the HAVING clause is applied after; there's no other difference. Therefore, if the HAVING clause isn't referencing an aggregate function, it could be done in a WHERE clause instead.

  • Power Efficiency Diagnostics Report - How to fix the below mentioned issues?

    Power Efficiency Diagnostics Report
    Computer Name
    SONY-VAIO
    Scan Time
    2014-04-12T15:29:55Z
    Scan Duration
    60 seconds
    System Manufacturer
    Sony Corporation
    System Product Name
    VPCEH25EN
    BIOS Date
    04/19/2012
    BIOS Version
    R0200Z9
    OS Build
    7601
    Platform Role
    PlatformRoleMobile
    Plugged In
    false
    Process Count
    134
    Thread Count
    1477
    Report GUID
    {bd655715-c758-4329-9f37-029a6c41aa27}
    Analysis Results
    Errors
    USB Suspend:USB Device not Entering Suspend
    The USB device did not enter the Suspend state. Processor power management may be prevented if a USB device does not enter the Suspend state when not in use.
    Device Name
    USB Composite Device
    Host Controller ID
    PCI\VEN_8086&DEV_1C26
    Host Controller Location
    PCI bus 0, device 29, function 0
    Device ID
    USB\VID_12D1&PID_14DB
    Port Path
    1,1
    USB Suspend:USB Device not Entering Suspend
    The USB device did not enter the Suspend state. Processor power management may be prevented if a USB device does not enter the Suspend state when not in use.
    Device Name
    USB Mass Storage Device
    Host Controller ID
    PCI\VEN_8086&DEV_1C26
    Host Controller Location
    PCI bus 0, device 29, function 0
    Device ID
    USB\VID_0BB4&PID_0001
    Port Path
    1,3
    USB Suspend:USB Device not Entering Suspend
    The USB device did not enter the Suspend state. Processor power management may be prevented if a USB device does not enter the Suspend state when not in use.
    Device Name
    USB Root Hub
    Host Controller ID
    PCI\VEN_8086&DEV_1C26
    Host Controller Location
    PCI bus 0, device 29, function 0
    Device ID
    USB\VID_8086&PID_1C26
    Port Path
    USB Suspend:USB Device not Entering Suspend
    The USB device did not enter the Suspend state. Processor power management may be prevented if a USB device does not enter the Suspend state when not in use.
    Device Name
    Generic USB Hub
    Host Controller ID
    PCI\VEN_8086&DEV_1C26
    Host Controller Location
    PCI bus 0, device 29, function 0
    Device ID
    USB\VID_8087&PID_0024
    Port Path
    1
    CPU Utilization:Processor utilization is high
    The average processor utilization during the trace was high. The system will consume less power when the average processor utilization is very low. Review processor utilization for individual processes to determine which applications and services contribute
    the most to total processor utilization.
    Average Utilization (%)
    10.44
    Platform Power Management Capabilities:PCI Express Active-State Power Management (ASPM) Disabled
    PCI Express Active-State Power Management (ASPM) has been disabled due to a known incompatibility with the hardware in this computer.
    Warnings
    Platform Timer Resolution:Platform Timer Resolution
    The default platform timer resolution is 15.6ms (15625000ns) and should be used whenever the system is idle. If the timer resolution is increased, processor power management technologies may not be effective. The timer resolution may be increased due to
    multimedia playback or graphical animations.
    Current Timer Resolution (100ns units)
    10000
    Maximum Timer Period (100ns units)
    156001
    Platform Timer Resolution:Outstanding Timer Request
    A program or service has requested a timer resolution smaller than the platform maximum timer resolution.
    Requested Period
    10000
    Requesting Process ID
    2768
    Requesting Process Path
    \Device\HarddiskVolume3\Users\sony\AppData\Local\Google\Chrome\Application\chrome.exe
    Platform Timer Resolution:Outstanding Timer Request
    A program or service has requested a timer resolution smaller than the platform maximum timer resolution.
    Requested Period
    10000
    Requesting Process ID
    7268
    Requesting Process Path
    \Device\HarddiskVolume3\Users\sony\AppData\Local\Google\Chrome\Application\chrome.exe
    Power Policy:802.11 Radio Power Policy is Maximum Performance (Plugged In)
    The current power policy for 802.11-compatible wireless network adapters is not configured to use low-power modes.
    CPU Utilization:Individual process with significant processor utilization.
    This process is responsible for a significant portion of the total processor utilization recorded during the trace.
    Process Name
    SRService.exe
    PID
    2632
    Average Utilization (%)
    1.61
    Module
    Average Module Utilization (%)
    \SystemRoot\system32\ntoskrnl.exe
    1.34
    \Device\HarddiskVolume3\Windows\SysWOW64\kernel32.dll
    0.04
    \Device\HarddiskVolume3\Windows\System32\wow64.dll
    0.04
    CPU Utilization:Individual process with significant processor utilization.
    This process is responsible for a significant portion of the total processor utilization recorded during the trace.
    Process Name
    chrome.exe
    PID
    1728
    Average Utilization (%)
    1.40
    Module
    Average Module Utilization (%)
    \Device\HarddiskVolume3\Users\sony\AppData\Local\Google\Chrome\Application\34.0.1847.116\chrome_child.dll
    1.21
    \SystemRoot\system32\ntoskrnl.exe
    0.10
    \Device\HarddiskVolume3\Windows\SysWOW64\ntdll.dll
    0.01
    CPU Utilization:Individual process with significant processor utilization.
    This process is responsible for a significant portion of the total processor utilization recorded during the trace.
    Process Name
    chrome.exe
    PID
    5264
    Average Utilization (%)
    0.87
    Module
    Average Module Utilization (%)
    \Device\HarddiskVolume3\Users\sony\AppData\Local\Google\Chrome\Application\34.0.1847.116\chrome.dll
    0.33
    \SystemRoot\system32\ntoskrnl.exe
    0.27
    \Device\HarddiskVolume3\Windows\SysWOW64\ntdll.dll
    0.04
    CPU Utilization:Individual process with significant processor utilization.
    This process is responsible for a significant portion of the total processor utilization recorded during the trace.
    Process Name
    chrome.exe
    PID
    7268
    Average Utilization (%)
    0.59
    Module
    Average Module Utilization (%)
    \Device\HarddiskVolume3\Windows\SysWOW64\nvd3dum.dll
    0.15
    \Device\HarddiskVolume3\Users\sony\AppData\Local\Google\Chrome\Application\34.0.1847.116\libglesv2.dll
    0.08
    \SystemRoot\system32\ntoskrnl.exe
    0.07
    CPU Utilization:Individual process with significant processor utilization.
    This process is responsible for a significant portion of the total processor utilization recorded during the trace.
    Process Name
    System
    PID
    4
    Average Utilization (%)
    0.55
    Module
    Average Module Utilization (%)
    \SystemRoot\system32\ntoskrnl.exe
    0.36
    \SystemRoot\System32\drivers\dxgmms1.sys
    0.06
    \SystemRoot\system32\DRIVERS\nvlddmkm.sys
    0.02
    CPU Utilization:Individual process with significant processor utilization.
    This process is responsible for a significant portion of the total processor utilization recorded during the trace.
    Process Name
    svchost.exe
    PID
    860
    Average Utilization (%)
    0.44
    Module
    Average Module Utilization (%)
    \SystemRoot\system32\ntoskrnl.exe
    0.28
    \Device\HarddiskVolume3\Windows\System32\rpcrt4.dll
    0.04
    \Device\HarddiskVolume3\Windows\System32\ntdll.dll
    0.03
    CPU Utilization:Individual process with significant processor utilization.
    This process is responsible for a significant portion of the total processor utilization recorded during the trace.
    Process Name
    AvastSvc.exe
    PID
    1316
    Average Utilization (%)
    0.38
    Module
    Average Module Utilization (%)
    \SystemRoot\system32\ntoskrnl.exe
    0.13
    \Device\HarddiskVolume3\Program Files\Alwil Software\Avast5\defs\14041100\algo.dll
    0.05
    \Device\HarddiskVolume3\Windows\winsxs\x86_avast.vc110.crt_2036b14a11e83e4a_11.0.60610.1_none_1d37a43bbfe1dc9c\msvcr110.dll
    0.03
    CPU Utilization:Individual process with significant processor utilization.
    This process is responsible for a significant portion of the total processor utilization recorded during the trace.
    Process Name
    chrome.exe
    PID
    6232
    Average Utilization (%)
    0.29
    Module
    Average Module Utilization (%)
    \Device\HarddiskVolume3\Users\sony\AppData\Local\Google\Chrome\Application\34.0.1847.116\chrome_child.dll
    0.21
    0.04
    \SystemRoot\system32\ntoskrnl.exe
    0.01
    CPU Utilization:Individual process with significant processor utilization.
    This process is responsible for a significant portion of the total processor utilization recorded during the trace.
    Process Name
    Apoint.exe
    PID
    4420
    Average Utilization (%)
    0.28
    Module
    Average Module Utilization (%)
    \SystemRoot\system32\ntoskrnl.exe
    0.14
    \SystemRoot\System32\win32k.sys
    0.06
    \SystemRoot\system32\drivers\fltmgr.sys
    0.02
    CPU Utilization:Individual process with significant processor utilization.
    This process is responsible for a significant portion of the total processor utilization recorded during the trace.
    Process Name
    explorer.exe
    PID
    4056
    Average Utilization (%)
    0.21
    Module
    Average Module Utilization (%)
    \SystemRoot\System32\win32k.sys
    0.09
    \SystemRoot\system32\ntoskrnl.exe
    0.07
    \Device\HarddiskVolume3\Windows\winsxs\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_fa396087175ac9ac\comctl32.dll
    0.00
    Information
    Platform Timer Resolution:Timer Request Stack
    The stack of modules responsible for the lowest platform timer setting in this process.
    Requested Period
    10000
    Requesting Process ID
    2768
    Requesting Process Path
    \Device\HarddiskVolume3\Users\sony\AppData\Local\Google\Chrome\Application\chrome.exe
    Calling Module Stack
    \Device\HarddiskVolume3\Windows\SysWOW64\ntdll.dll
    \Device\HarddiskVolume3\Windows\SysWOW64\winmm.dll
    \Device\HarddiskVolume3\Users\sony\AppData\Local\Google\Chrome\Application\34.0.1847.116\chrome_child.dll
    \Device\HarddiskVolume3\Windows\SysWOW64\kernel32.dll
    \Device\HarddiskVolume3\Windows\SysWOW64\ntdll.dll
    Platform Timer Resolution:Timer Request Stack
    The stack of modules responsible for the lowest platform timer setting in this process.
    Requested Period
    10000
    Requesting Process ID
    7268
    Requesting Process Path
    \Device\HarddiskVolume3\Users\sony\AppData\Local\Google\Chrome\Application\chrome.exe
    Calling Module Stack
    \Device\HarddiskVolume3\Windows\SysWOW64\ntdll.dll
    \Device\HarddiskVolume3\Windows\SysWOW64\winmm.dll
    \Device\HarddiskVolume3\Windows\SysWOW64\d3d9.dll
    \Device\HarddiskVolume3\Users\sony\AppData\Local\Google\Chrome\Application\34.0.1847.116\libglesv2.dll
    \Device\HarddiskVolume3\Users\sony\AppData\Local\Google\Chrome\Application\34.0.1847.116\libegl.dll
    \Device\HarddiskVolume3\Users\sony\AppData\Local\Google\Chrome\Application\34.0.1847.116\chrome_child.dll
    Power Policy:Active Power Plan
    The current power plan in use
    Plan Name
    OEM Balanced
    Plan GUID
    {381b4222-f694-41f0-9685-ff5bb260df2e}
    Power Policy:Power Plan Personality (On Battery)
    The personality of the current power plan when the system is on battery power.
    Personality
    Balanced
    Power Policy:Video Quality (On Battery)
    Enables Windows Media Player to optimize for quality or power savings when playing video.
    Quality Mode
    Balance Video Quality and Power Savings
    Power Policy:Power Plan Personality (Plugged In)
    The personality of the current power plan when the system is plugged in.
    Personality
    Balanced
    Power Policy:Video quality (Plugged In)
    Enables Windows Media Player to optimize for quality or power savings when playing video.
    Quality Mode
    Optimize for Video Quality
    System Availability Requests:Analysis Success
    Analysis was successful. No energy efficiency problems were found. No information was returned.
    Battery:Battery Information
    Battery ID
    5950SONY Corp. VGP-BPS26
    Manufacturer
    SONY Corp.
    Serial Number
    5950
    Chemistry
    LION
    Long Term
    1
    Design Capacity
    45040
    Last Full Charge
    34940
    Platform Power Management Capabilities:Supported Sleep States
    Sleep states allow the computer to enter low-power modes after a period of inactivity. The S3 sleep state is the default sleep state for Windows platforms. The S3 sleep state consumes only enough power to preserve memory contents and allow the computer
    to resume working quickly. Very few platforms support the S1 or S2 Sleep states.
    S1 Sleep Supported
    false
    S2 Sleep Supported
    false
    S3 Sleep Supported
    true
    S4 Sleep Supported
    true
    Platform Power Management Capabilities:Adaptive Display Brightness is supported.
    This computer enables Windows to automatically control the brightness of the integrated display.
    Platform Power Management Capabilities:Processor Power Management Capabilities
    Effective processor power management enables the computer to automatically balance performance and energy consumption.
    Group
    0
    Index
    0
    Idle (C) State Count
    3
    Performance (P) State Count
    14
    Throttle (T) State Count
    8
    Platform Power Management Capabilities:Processor Power Management Capabilities
    Effective processor power management enables the computer to automatically balance performance and energy consumption.
    Group
    0
    Index
    1
    Idle (C) State Count
    3
    Performance (P) State Count
    14
    Throttle (T) State Count
    8
    Platform Power Management Capabilities:Processor Power Management Capabilities
    Effective processor power management enables the computer to automatically balance performance and energy consumption.
    Group
    0
    Index
    2
    Idle (C) State Count
    3
    Performance (P) State Count
    14
    Throttle (T) State Count
    8
    Platform Power Management Capabilities:Processor Power Management Capabilities
    Effective processor power management enables the computer to automatically balance performance and energy consumption.
    Group
    0
    Index
    3
    Idle (C) State Count
    3
    Performance (P) State Count
    14
    Throttle (T) State Count
    8

    Hi,
    What is the symptom of the issue you encountered? The report shows there's a "known incompatibility with the hardware" and all "USB Suspend:USB Device not Entering Suspend" errors are caused by the prevention of Power Management (which is disabled due to
    hardware issue) so have you made any hardware change rencently?
    You can also manually check the Power Management setting, control panel\power options\chang plan settings\change advanced power settings, scroll down to PCI Express (check if you can set it to "Moderate Power Savings") and Process Power Management(should be
    active).
    Yolanda Zhu
    TechNet Community Support

  • Can't update apps bought from different stores efficiently any more, why?

    After the latest update of iTune 11, I found I can not any more update iOS Apps efficiently in iTunes. I have three different iTunes Store accounts for different country stores and they are all active.
    Before this iTunes update, I had been able to update apps by store - which means when I am in a certain App Store, iTunes shows all apps need-to-update in that store only. I could press 'Update All" and sign-off so as to switch to another App Store while the updating running by itselfs and do the same in another store. This has been quite an effective way when there are more than 10 apps to update.
    The new iTunes has a category "Update", which is good. However, it doesn't further categorize the apps by Store. The problem now is that I had 300+ updates waiting there and they belong to 3 stores. When I start updating with Store A, I can't sign-off (so no way to switch) until the apps update in Store A completes. Then it comes another big problem - when app No 22 to 26 were bought through Store B, 27 to 30 from Store A, 30-31 from Store C, etc, the udpate will stop when app 22 is detected and iTunes pops up a dialogue saying something like "this app was from another store, you have to switch to that store". If I don't switch, the udpate will not continue; if I do, it will stop the updating of app 20 and 21 (if haven't finished by then).
    Once I switch, the same thing will repeat when app 27 is detected, then app 30, then app 32, then... then it is a total catastrophy.
    On iOS devices, I don't have to switch to update apps from multiple stores, except when some apps were for certain store only, such as China Sore. Even the latter, I don't have to switch "BACK and FORTH".
    Why can't iTunes on Mac do the same? At least, iTunes should continue to allow app update by Store and allow updating continues when the accounts is signed off.
    Has anyone had the same problem? Is this a bug or not?

    Just updated to iTunes 11 two days ago and am also seeing
    the same behavior.  The only way to find out if there is an update
    to an app in iTunes is to enable the side bar, click on Apps.  Then in
    the lower right corner, click check for updates.  If you are already logged
    into the iTunes Store, I believe it will show the updates automatically.
    But yes, it should show that an update is available in the store, as it used to.

  • How to share the music folder with multiple libraries efficiently?

    Hi,
    Me and my husband use the same computer, but have our own seperate user account on it. We have setup iTunes such that for each user account iTunes points to the same central music folder (on a seperate large disc). So effectively we are sharing the mp3/m4p/m4a files, but not the library.
    So each user account has it's own iTunes library file with playlists, ratings etc. This is all fine, but if either of us adds something to the library (by importing a CD or by purchasing music), it is not automatically reflected in the other library.
    The workaround we found for this is to drag the iTunes folder to the library every time you know that the other user made changes... It works, but it is not very efficient.
    Any suggestions are welcome!
    As a sidenote: for photo's we use Picasa from Google in a similar fashion (shared storage, different libraries) and here it works. When starting, Picasa automatically detects changes in the photo folder and updates the library accordingly.

    You are doing the same thing I do at home. Except we just add the files that have been newly added rather than the whole library each time.
    What we did is decide that all importing from CD will be with one account. This is just to make things easier keeping track of new adds. What we do is CDs that have been added are kept in a rack next to computer. If my wife wants the files all she has to do is add the files from the common storage drive then put the disc in storage.

  • I just bought a new computer.  I know that I have several "libraries" on the old one.  How can i transfer the data most efficiently?

    I just purchased a new computer.  My old computer has several "libraries" that have been saved.  How do I know how to transfer the data most efficiently?

    The progress for some games will transfer since some games synce progress to a cental server. For other games you will have to have the backup of the old iPod.
    You can restore from backup or access the backup. See:
    How to transfer game saves between iOS devices, without iTunes, and without jailbreaking | TUAW - The Unofficial Apple Weblog
    If you have acces to the old iPod yu can make a backup by connecting the iPod to the computer and right click on the iPOd under Devices in iTunes and select Back Up. Then restore from that backup.

  • Advice needed: Efficient way to scan users

    Hi all,
    I wish to know the efficient way to scan users in Lighthouse. I need to write a workflow that checkout all the users and perform some updates. This workflow should run everyday at midnight.
    I have created a scanner myself. Basically what It did are:
    1. call FormUtils.getUsers method to return all users' name into a variable.
    2. loop through this list and call a subprocess workflow to process every user. This subprocess checks out a user view, performs updates, and then checks in view.
    This solution is not efficient at all since it causes my JVM to be Out of Memory. (1G RAM assigned to JVM with about 78,000 users)
    Any advice is highly appreciated. Thank you.
    Steve

    Ok...I know understand what you are doing and why you need this.
    A long, long, long time ago (back in 3.x days) the deferred task scanner was really bad. Its nightly scan would scan ALL users each time. This is fine when your client had 4k users...but not when it has 140k users.
    Additionally, the "set deferred task" function had problems with two tasks with the same name "i.e. disable resource" since it used the name as the xml object name which can not be duplicated.
    soooo, to beat this I rewrote the deferred task handler to allow me to do all of this. Part of this was to add a searchable field called 'nextTaskDate' on the user object. After each workflow this 'date" is updated so it is always correctly populated with the users "next deferred task date"
    each night the scanner runs and querys all users with a nextTaskDate of today. This then gives us a result set that we can iterate over instead of having to list each user and search for tasks. It's a billion times faster.
    Your best bet is to store the task date in miliseconds and make your query a "all users with next task date BEFORE now"...this way if the server is hosed you can execute tasks you may have missed.
    We have an entire re-usable implmentation framework that we have patented (of which this code is a part) that answers most of these types of issues you are bringing up. It makes these implementations much much simpler, faster, scalable and maintainable.
    this make sense?
    Dana Reed
    AegisUSA
    Denver, CO 80211
    [email protected]
    773.412.3782
    "Now hiring best-in-class IdM architects. Inquire via emai"

  • My Mac Book Pro has slowed to less than a crawl (possibly from a worm or virus).  How do I make sure it's running at peak efficiency before I complain to comcast

    My Mac Book Pro has slowed to less than a crawl (possibly from a worm or virus).  How do I make sure it's running at peak efficiency before I complain to comcast

    Please answer as many of the following questions as you can. You may already have answered some of them; in that case, there's no need to repeat the answers.
    Restart the router and the broadband device, if they're separate. Any change?
    Run Software Update and install all available updates for OS X or the computer's firmware. Any change?
    If possible, connect to the router with an Ethernet cable and turn off Wi-Fi. Any difference?
    Are any other devices on the network, and if so, are they the same?
    If you can connect to more than one network, are they all the same?
    Are all network applications affected, or only some? If only some, which ones?
    Is networking always the same, or is the problem intermittent?
    Disconnect all other devices from the network. Any change?
    If you're running a MacBook with the lid closed, open the lid. Any difference?
    Start up in safe mode and test. Any difference?
    Start up in Recovery mode. From the OS X Utilities screen, select Get Help Online. A clean copy of Safari will launch. No plugins, such as Flash, will be available. Any difference?
    If possible, turn off Bluetooth and disconnect any USB 3 devices. Any difference?

  • Does anyone have a suggestion for an alternative to iCal that will interface with the Cloud? I find iCal to be poorly designed and not very efficient.

    Does anyone have a suggestion for an alternative to iCal that will interface with the Cloud so it works on the iPhone and the Macbook? I find iCal to be poorly designed and not very efficient. I waste a lot of time entering information because you can't go to a specific day and enter information, nor can you navigate between months and add information on a specific date by clicking on the date. You can't easily scroll month-to-month and once you do by scrolling through nine months to get to where you want to be, you cannot enter information by clicking on a specific day in the month and entering information. I just called Apple and they verified that this is the way it works. You cannot go to a date and enter information, you keep getting thrown back to today and then you have to go into the calendar and change it manually on the screen. It is just not efficient.

    APC, CyberPower are reliable.
    Look for 1500VA. As example:
    APC
    http://www.amazon.co.uk/APC-Back-UPS-Pro-1500-Connector/dp/B0041MP81Y/
    Cyperpower:
    http://www.amazon.co.uk/Dell-CyberPower-Intelligent-LCD-1500VA/dp/B005DL5L50/

Maybe you are looking for

  • WebLogic searches for DataControls.dcx in wrong package. (JBO-25002)

    Hi, I've just started a simple Fusion Web Application in JDeveloper (11.1.1.3.PS2_GENERIC_100408.2356.5660) and am running on the Integrated WebLogic Server (10.3.3.0 ). I created a POJO in my Model project that contains a method that I want to call

  • Retrieving the COM class factory for component with CLSID {85DE1C45-2C66-101B-B02E-04021C009402} fai

    I get the following error when i try and access a site I'm working on through internet explorer, but it works fine when i run it in the visual studio 2005 environment.<br /><br />(I'm trying to complete a pdf with form fields)<br /><br />======<br />

  • Conflict in planning workbench

    Hello, Our purchasers are using WWP2 as their primary tool for purchasing and after an upgrade from 46C to ECC6 they have run into some problem. In the Material Selection part of WWP2 selection screen the field Delivery date have appeared with some n

  • Captivate 8 Cache location

    Hi, Was wondering if i could get a firm response on whether the standard cache location can be modified for users of the application by defaut from C:\ My Documents\My Adobe Captivate Projects. We require the location to be set to D:\My Adobe Captiva

  • Granular Permissions on a Shared Mailbox

    I've created a Shared mailbox in our Exchange environment.    The managers don't want everyone to have the ability to delete messages in that box, but they want everyone to be able to read.   During the setup of a Shared mailbox you grant Full Access