Selection in other way to improve performence

Any body can suggest me how i can write the first selection in another way with the same logic.
it_date TYPE STANDARD TABLE OF rsdsselopt,
SELECT bukrs belnr gjahr cpudt cputm aedat awkey
FROM bkpf INTO TABLE it_bkpf
WHERE cpudt IN it_date.
help me to write same select in another form which can suggest for performence.
Tks.

Hi,
I have played with your select trying to improve it. Using bukrs like '%' suggested by Diego did not improved performance in my case. But using standard index with fields bukrs, cpudt, bstat is good idea. If you do not want to create a new secondary index and you can not limit your selection for a concrete BUKRS, the best approach I have found is doing the select this way:
data: it_date TYPE STANDARD TABLE OF rsdsselopt,
         it_t001 TYPE STANDARD TABLE OF t001,
         wa_t001 TYPE t001.
SELECT * FROM t001 INTO TABLE it_t001.
LOOP AT it_t001 INTO wa_t001.
SELECT bukrs belnr gjahr cpudt cputm aedat awkey
FROM bkpf APPENDING TABLE it_bkpf
WHERE bukrs EQ wa_t001-bukrs
      AND cpudt IN it_date.
ENDLOOP.
For it_date use only such values which can be transformed to EQ, IN and BETWEEN if possible, so do not use excluding select-options, instead of operand < try to put some lower boundary and use BETWEEN instead.
Disadvantage of this approach is that select is performed more than once. I was trying to eliminate this disadvantage doiing it this way:
data: it_date TYPE STANDARD TABLE OF rsdsselopt,
         it_t001 TYPE STANDARD TABLE OF t001.
SELECT * FROM t001 INTO TABLE it_t001.
LOOP AT it_t001 INTO wa_t001.
SELECT bukrs belnr gjahr cpudt cputm aedat awkey
FROM bkpf INTO TABLE it_bkpf
FOR ALL ENTRIES IN it_t001
WHERE bukrs EQ it_t001-bukrs
      AND cpudt IN it_date.
ENDLOOP.
But when I looked at a execution plan for this select, although FOR ALL ENTRIES was translated using IN operator, no index was used by selection. So, this one did not bring any improvement. But it can be individual and it depends on system, because FOR ALL ENTRIES can be implemented in different way depends on database system, version and system parameters. Maybe you can try to take also this FOR ALL ENTRIES approach and improve it by changing parameters rsdb/prefer_join, rsdb/prefer_union_all, rsdb/prefer_in_itab_opt via hints.
But I would recommend to use the first approach I have used if it is sufficient improvement.
You should become more familiar with transaction ST05 and using SQL trace to anlayse database operations.
Hope it helps.
Regards,
Adrian

Similar Messages

  • Improve performence in Declaration part.

    Hi,
    Performence in declaration.
    Data Types:
      TYPES : BEGIN OF itab,
               bukrs TYPE t001-bukrs,
               ktopl TYPE t001-ktopl,
              END OF itab.
    Work Ares:
    DATA:  wa_itab         TYPE itab,
    Int Table:
    it_itab         TYPE STANDARD TABLE OF itab,
    CONSTANTS: lc_n           TYPE char1 
    this is my declaration ..so to improve the declaration wise is any other way to improve performence.
    By,
    Kmr.

    Hi ,
    There is no such concept that performance is dependent of declaration of types , workarea and internal tables.
    In internal tables case, type of internal table used can help to improve performance.
    Only, you can follow client standards in declaration of these.
    In you case , you can change code as below
    TYPES : BEGIN OF itab,
    bukrs TYPE bukrs, "Use Data element rather than field
    ktopl TYPE ktopl, "Use Data element rather than field
    END OF itab.
    Hope this helps you.

  • Is there a way to select every other page in a multi page pdf and convert it to grayscale?

    I'm going to ask this question in a few sub-forums, so if you think you've seen it, you might have.
    Where I work I use a program that can print to pdf. We use it to produce mailings, usually postcards, that are addressed.
    I often end up with a 500 page document that will print on 250 sheets of cover stock, which will get cut into 1,000 postcard, all pre-addressed and sorted by zip code.
    Usually, the address side is all black and the front is color. The printers we use can print a black click on the address side and a color click on the other, IF the pdf is set up that way. Otherwise, both sides will be counted as color clicks.
    I know I can select pages individually in a pdf and convert them to grayscale and those pages will be counted by the printer as black clicks, which are cheaper than color clicks.
    The problem is, I have not figured out how to convert all the odd numbered pages to grayscale at once. As a result, I usually end up printing the color side simplex, then putting the job back in the tray and printing the black side. Of course, that only works if only one side is personalized, sometimes both sides are.
    Is there a way to select every other page in a pdf and convert it to grayscale?

    The Acrobat SDK has sample code that shows how to convert the colors for one page (the first page of a document). This sample can easily be adjusted to process every other page. You can then use an Action that executes this JavaScript to process the document. Do you know how to create an Action? If so, you can use this script (as I said, adapted from the sample in the SDK) to convert all odd pages (1, 3, 5, ...):
    // Get a color convert action
    var toGray = this.getColorConvertAction();
    // Set up the action for a conversion to RGB
    toGray.matchAttributesAny = -1;
    toGray.matchSpaceTypeAny = ~toGray.constants.spaceFlags.AlternateSpace;
    toGray.matchIntent = toGray.constants.renderingIntents.Any;
    toGray.convertProfile = "Gray Gamma 1.8";
    toGray.convertIntent = toGray.constants.renderingIntents.Document;
    toGray.embed = true;
    toGray.preserveBlack = false;
    toGray.useBlackPointCompensation = true;
    toGray.action = toGray.constants.actions.Convert;
    // Convert every other page
    for (var i=0; i<this.numPages; i++) {
      console.println("Processing page " + i);
      if (i % 2 == 0) {  // change to "if (i % 2 != 0) {" for all even numbers
      console.println("in page " + i);
      console.println(this.colorConvertPage(i, [toGray], []));
    As I've indicated in the code, you can change this to all even numbers by changing the == to !=

  • Is there a way to select every other page in a pdf and convert it to grayscale?

    I'm going to ask this question in a few sub-forums, so if you think you've seen it, you might have. Someone suggested it might be done with Javascript. I know nothing about Javascript.
    Where I work I use a program that can print to pdf. We use it to produce mailings, usually postcards, that are addressed.
    I often end up with a 500 page document that will print on 250 sheets of cover stock, which will get cut into 1,000 postcard, all pre-addressed and sorted by zip code.
    Usually, the address side is all black and the front is color. The printers we use can print a black click on the address side and a color click on the other, IF the pdf is set up that way. Otherwise, both sides will be counted as color clicks.
    I know I can select pages individually in a pdf and convert them to grayscale and those pages will be counted by the printer as black clicks, which are cheaper than color clicks.
    The problem is, I have not figured out how to convert all the odd numbered pages to grayscale at once. As a result, I usually end up printing the color side simplex, then putting the job back in the tray and printing the black side. Of course, that only works if only one side is personalized, sometimes both sides are.
    Is there a way to select every other page in a pdf and convert it to grayscale?

    The Acrobat SDK has sample code that shows how to convert the colors for one page (the first page of a document). This sample can easily be adjusted to process every other page. You can then use an Action that executes this JavaScript to process the document. Do you know how to create an Action? If so, you can use this script (as I said, adapted from the sample in the SDK) to convert all odd pages (1, 3, 5, ...):
    // Get a color convert action
    var toGray = this.getColorConvertAction();
    // Set up the action for a conversion to RGB
    toGray.matchAttributesAny = -1;
    toGray.matchSpaceTypeAny = ~toGray.constants.spaceFlags.AlternateSpace;
    toGray.matchIntent = toGray.constants.renderingIntents.Any;
    toGray.convertProfile = "Gray Gamma 1.8";
    toGray.convertIntent = toGray.constants.renderingIntents.Document;
    toGray.embed = true;
    toGray.preserveBlack = false;
    toGray.useBlackPointCompensation = true;
    toGray.action = toGray.constants.actions.Convert;
    // Convert every other page
    for (var i=0; i<this.numPages; i++) {
      console.println("Processing page " + i);
      if (i % 2 == 0) {  // change to "if (i % 2 != 0) {" for all even numbers
      console.println("in page " + i);
      console.println(this.colorConvertPage(i, [toGray], []));
    As I've indicated in the code, you can change this to all even numbers by changing the == to !=

  • How can a turn the other way a pdf - so that i can undeline and select texts

    IM having trouble with a few texts i have that are the other way around. Thought i can turn the tablet itself the other way i cannot undeline and, worst, select to copy and paste. What can i do? Have tried to copy a jpeg do keynote and then export and it didnt work out. HELP!

    IM having trouble with a few texts i have that are the other way around. Thought i can turn the tablet itself the other way i cannot undeline and, worst, select to copy and paste. What can i do? Have tried to copy a jpeg do keynote and then export and it didnt work out. HELP!

  • Please help me what other way i can tune this select query..

    Hello Guru,
    I have a select query which retrieve data from 10 tables and around 4 tables having 2-4 Lac record and rest are having 80,000 - 1 Lac record.
    It is taking around 7-8 seconds to fetch 55000 record.
    I was strictly told by the client that i should not use HINTS in my query. My query is below. Please help me what other way i can tune this select query..
    select
    CT.CUST_ID
    ,CT.ROMANISED_SURNAME
    ,CT.SURNAME
    ,CT.ROMANISED_GIVEN_NAME
    ,CT.GIVEN_NAME
    ,CT.ROMANISED_MIDDLE_NAME
    ,CT.MIDDLE_NAME
    ,CT.ROMANISED_NAME_SUFFIX
    ,CT.NAME_SUFFIX
    ,CT.ROMANISED_TITLE
    ,CT.TITLE
    ,CT.ROMANISED_NAME_INITIALS
    ,CT.NAME_INITIALS
    ,CT.NAME_TEXT
    ,CT.CUST_JRNY_ID
    ,RK.REMARK_TYPE
    ,RK.REMARK_ID+CT.CUST_ID as REMARK_ID
    ,RK.REMARK_STATUS
    ,RK.REMARK_TEXT
    ,RK.HOST_ONLY_IND
    ,RK.SUPERVISORY_IND
    ,RK.CUST_COMM_IND
    ,RK.REMARK_SEQ
    ,RK.REMARK_CODE
    ,RK.DEFAULT_CUST_REL_IND
    ,RK.DEFAULT_FLIGHT_SEG_REL_IND
    ,RK.IATA_CODE
    ,RK.ICAO_CODE
    ,CJ.RECORD_LOCATOR "SITA_RECORD_LOCATOR"
    ,Cjv.Record_Locator "ORIGINATOR_RECORD_LOCATOR"
    ,FS.TRAVELLING_GROUP_CODE
    ,CG.GROUP_NAME
    FROM FLIGHT_LEG FL
    ,CUST_FLIGHT_LEG CFL
    ,CUST CT
    ,CUST_REMARK CTR
    ,REMARK RK
    ,FLIGHT_SEG_FLIGHT_LEG FSFL
    ,FLIGHT_SEG FS
    ,CUST_JRNY CJ
    ,CUST_JRNY_VERSION CJV
    ,CUST_GROUP CG
    WHERE FL.OPR_FLIGHT_NUMBER = 1--I_OPR_FLIGHT_NUMBER
    and FL.HISTORY_VERSION_NUMBER = 0
    and FL.DEPARTURE_STATION_CODE = 'DEL'--I_DEPARTURE_STATION_CODE
    and FL.DEPARTURE_DATETIME = TO_DATE('10-DEC-2012 18.45.00', 'DD-MON-YYYY HH24.MI.SS')
    and FL.OPR_SERVICE_PROVIDER_CODE= 'AI'--i_opr_service_provider_code
    and FL.OPR_FLIGHT_SUFFIX = 'A'--NVL(I_OPR_FLIGHT_SUFFIX, FL.OPR_FLIGHT_SUFFIX)
    AND FL.FLIGHT_LEG_ID = CFL.FLIGHT_LEG_ID
    AND CFL.CUST_ID = CT.CUST_ID
    AND FL.FLIGHT_LEG_ID=FSFL.FLIGHT_LEG_ID
    AND FSFL.FLIGHT_SEG_ID=FS.FLIGHT_SEG_ID
    AND CT.CUST_ID = CTR.CUST_ID(+)
    AND CTR.REMARK_ID = RK.REMARK_ID(+)
    AND FL.CUST_JRNY_ID = CJ.CUST_JRNY_ID
    and CJ.CUST_JRNY_ID = CJV.CUST_JRNY_ID
    AND CG.CUST_JRNY_ID(+) = CT.CUST_JRNY_ID
    AND CFL.HISTORY_VERSION_NUMBER = 0
    AND CT.HISTORY_VERSION_NUMBER = 0
    AND NVL(CTR.HISTORY_VERSION_NUMBER,0) = 0
    AND NVL(RK.HISTORY_VERSION_NUMBER,0) = 0
    AND FS.HISTORY_VERSION_NUMBER = 0
    AND FSFL.HISTORY_VERSION_NUMBER = 0
    -- AND CJ.HISTORY_VERSION_NUMBER = 0
    and CJV.VERSION_NUMBER = 0 --- Need to check
    AND NVL(CG.HISTORY_VERSION_NUMBER,0) = 0
    order by CT.CUST_JRNY_ID,CT.CUST_ID;
    The Tables having record:
    select COUNT(*) from FLIGHT_LEG -----241756
    select COUNT(*) from CUST_FLIGHT_LEG---632585
    select COUNT(*) from CUST---240015
    select COUNT(*) from CUST_REMARK---73724
    select COUNT(*) from REMARK---73654
    select COUNT(*) from FLIGHT_SEG_FLIGHT_LEG---241789
    select COUNT(*) from FLIGHT_SEG----260004
    select COUNT(*) from CUST_JRNY----74288
    select COUNT(*) from CUST_JRNY_VERSION----74477
    select COUNT(*) from CUST_GROUP----55819
    Thanks,
    HP..

    Plan hash value: 3771714931
    | Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time | Pstart| Pstop |
    | 0 | SELECT STATEMENT | | 10239 | 2949K| | 7515 (1)| 00:01:31 | | |
    | 1 | SORT ORDER BY | | 10239 | 2949K| 3160K| 7515 (1)| 00:01:31 | | |
    |* 2 | HASH JOIN | | 10239 | 2949K| | 6864 (1)| 00:01:23 | | |
    | 3 | PARTITION HASH ALL | | 73687 | 1079K| | 417 (1)| 00:00:06 | 1 | 512 |
    |* 4 | TABLE ACCESS FULL | CUST_JRNY_VERSION | 73687 | 1079K| | 417 (1)| 00:00:06 | 1 | 512 |
    |* 5 | HASH JOIN | | 10239 | 2799K| | 6445 (1)| 00:01:18 | | |
    | 6 | PARTITION HASH ALL | | 73654 | 863K| | 178 (1)| 00:00:03 | 1 | 512 |
    | 7 | TABLE ACCESS FULL | CUST_JRNY | 73654 | 863K| | 178 (1)| 00:00:03 | 1 | 512 |
    |* 8 | FILTER | | | | | | | | |
    |* 9 | HASH JOIN RIGHT OUTER | | 10239 | 2679K| | 6267 (1)| 00:01:16 | | |
    | 10 | PARTITION HASH ALL | | 55315 | 756K| | 137 (1)| 00:00:02 | 1 | 512 |
    | 11 | TABLE ACCESS FULL | CUST_GROUP | 55315 | 756K| | 137 (1)| 00:00:02 | 1 | 512 |
    |* 12 | FILTER | | | | | | | | |
    |* 13 | HASH JOIN OUTER | | 10240 | 2540K| 2056K| 6129 (1)| 00:01:14 | | |
    |* 14 | FILTER | | | | | | | | |
    |* 15 | HASH JOIN RIGHT OUTER | | 10242 | 1930K| | 5531 (1)| 00:01:07 | | |
    | 16 | INDEX FAST FULL SCAN | CUST_REMARK_PK | 73677 | 935K| | 190 (0)| 00:00:03 | | |
    |* 17 | HASH JOIN | | 10257 | 1802K| | 5339 (1)| 00:01:05 | | |
    |* 18 | HASH JOIN | | 10257 | 701K| | 3516 (1)| 00:00:43 | | |
    |* 19 | HASH JOIN | | 3963 | 220K| | 2476 (1)| 00:00:30 | | |
    |* 20 | HASH JOIN | | 3963 | 181K| | 1300 (1)| 00:00:16 | | |
    | 21 | PARTITION HASH ALL | | 3963 | 131K| | 728 (1)| 00:00:09 | 1 | 512 |
    |* 22 | TABLE ACCESS FULL | FLIGHT_LEG | 3963 | 131K| | 728 (1)| 00:00:09 | 1 | 512 |
    |* 23 | INDEX FAST FULL SCAN| FLIGHT_SEG_FLIGHT_LEG_PK | 240K| 3059K| | 571 (1)| 00:00:07 | | |
    | 24 | PARTITION HASH ALL | | 259K| 2531K| | 1175 (1)| 00:00:15 | 1 | 512 |
    |* 25 | TABLE ACCESS FULL | FLIGHT_SEG | 259K| 2531K| | 1175 (1)| 00:00:15 | 1 | 512 |
    | 26 | PARTITION HASH ALL | | 631K| 8011K| | 1037 (1)| 00:00:13 | 1 | 512 |
    |* 27 | TABLE ACCESS FULL | CUST_FLIGHT_LEG | 631K| 8011K| | 1037 (1)| 00:00:13 | 1 | 512 |
    | 28 | PARTITION HASH ALL | | 239K| 25M| | 1822 (1)| 00:00:22 | 1 | 512 |
    |* 29 | TABLE ACCESS FULL | CUST | 239K| 25M| | 1822 (1)| 00:00:22 | 1 | 512 |
    | 30 | PARTITION HASH ALL | | 73623 | 4385K| | 243 (1)| 00:00:03 | 1 | 512 |
    | 31 | TABLE ACCESS FULL | REMARK | 73623 | 4385K| | 243 (1)| 00:00:03 | 1 | 512 |
    Predicate Information (identified by operation id):
    2 - access("CJ"."CUST_JRNY_ID"="CJV"."CUST_JRNY_ID")
    4 - filter("CJV"."VERSION_NUMBER"=0)
    5 - access("FL"."CUST_JRNY_ID"="CJ"."CUST_JRNY_ID")
    8 - filter(NVL("CG"."HISTORY_VERSION_NUMBER",0)=0)
    9 - access("CG"."CUST_JRNY_ID"(+)="CT"."CUST_JRNY_ID")
    12 - filter(NVL("RK"."HISTORY_VERSION_NUMBER",0)=0)
    13 - access("CTR"."REMARK_ID"="RK"."REMARK_ID"(+))
    14 - filter(NVL("CTR"."HISTORY_VERSION_NUMBER",0)=0)
    15 - access("CT"."CUST_ID"="CTR"."CUST_ID"(+))
    17 - access("CFL"."CUST_ID"="CT"."CUST_ID")
    18 - access("FL"."FLIGHT_LEG_ID"="CFL"."FLIGHT_LEG_ID")
    19 - access("FSFL"."FLIGHT_SEG_ID"="FS"."FLIGHT_SEG_ID")
    20 - access("FL"."FLIGHT_LEG_ID"="FSFL"."FLIGHT_LEG_ID")
    22 - filter("FL"."DEPARTURE_STATION_CODE"='DEL' AND "FL"."DEPARTURE_DATETIME"=TO_DATE(' 2012-12-10 18:45:00', 'syyyy-mm-dd
    hh24:mi:ss') AND "FL"."OPR_SERVICE_PROVIDER_CODE"='AI' AND "FL"."OPR_FLIGHT_NUMBER"=1 AND "FL"."OPR_FLIGHT_SUFFIX"='A' AND
    "FL"."HISTORY_VERSION_NUMBER"=0)
    23 - filter("FSFL"."HISTORY_VERSION_NUMBER"=0)
    25 - filter("FS"."HISTORY_VERSION_NUMBER"=0)
    27 - filter("CFL"."HISTORY_VERSION_NUMBER"=0)
    29 - filter("CT"."HISTORY_VERSION_NUMBER"=0)

  • HT1933 Following the instructions above, I'm constantly redirected to this help page rather than receiving any drop down list to select what my problem is. Are there any other ways to report issues with purchases?

    Following the instructions for reporting an issue with a purchase problem, when selecting "report a probelm", I am not provided with a drop down list, I am redirected to the help page instead.
    Is there any other way to report an issue where the app owner has taken the funds twice for the same product at literally the same time?

    To Contact iTunes Customer Service and request assistance
    Use this Link  >  Apple  Support  iTunes Store  Contact

  • HELP!   SQL Query:  Other ways to reorder column display?

    I have a SQL query report with a large number of columns (users can hide/show columns as desired). It would be great if the column display order could be changed by changing the order of the columns in the SELECT list in the Report Definition, but that doesn't work -- it puts changed or added columns at the end regardless of the order in the SELECT list of the query.
    Is there some other way to reorder the columns displayed without using the Report Attributes page? It's extremely tedious to move columns around using the up/down arrows which redisplays the page each time. Am I missing a way to change display order, or does anyone have a "trick" to do this? It's so painful....
    When defining forms you can reoder columns by specifying a sequence number for each column. Just curious as to why reports were not done the same way, and are there any plans to address this in a future release?
    Karen

    Yes, reordering columns is extremely painful.
    It is supposed to be much improved in the next version.
    See
    Re: Re-ordering columns on reports
    Moving columns up/down in Report  Attributes
    See my example at
    http://htmldb.oracle.com/pls/otn/f?p=24317:141
    Basically, let the users move columns around until they are blue in the face, provide a Save button to save the column order in a user preference and reorder the columns when the page reloads.
    Or you can use Carl's PL/SQL shuttle as the widget to specify the columns shown and their order. The shuttle is at http://htmldb.oracle.com/pls/otn/f?p=11933:27
    Hope this helps.
    Message was edited by:
    Vikas

  • Is There any way to improve the performance on this code

    Hi all can any one tell me how to improve the performance of this below code.
    Actually i need to calculate opening balance of gl account so instead of using bseg am using bsis
    So is there any way to improve this code performance.
    Any help would be appreciated.
    REPORT  ZTEMP5 NO STANDARD PAGE HEADING LINE-SIZE 190.
    data: begin of collect occurs 0,
           MONAT TYPE MONAT,
           HKONT TYPE HKONT,
           BELNR TYPE BELNR_D,
           BUDAT TYPE BUDAT,
           WRBTR TYPE WRBTR,
           SHKZG TYPE SHKZG,
           SGTXT TYPE SGTXT,
           AUFNR TYPE AUFNR_NEU,
           TOT   LIKE BSIS-WRBTR,
    end of collect.
    TYPES: BEGIN OF TY_BSIS,
           MONAT TYPE MONAT,
           HKONT TYPE HKONT,
           BELNR TYPE BELNR_D,
           BUDAT TYPE BUDAT,
           WRBTR TYPE WRBTR,
           SHKZG TYPE SHKZG,
           SGTXT TYPE SGTXT,
           AUFNR TYPE AUFNR_NEU,
    END OF TY_BSIS.
    DATA: IT_BSIS TYPE TABLE OF TY_BSIS,
          WA_BSIS TYPE TY_BSIS.
    DATA: TOT TYPE WRBTR,
          SUMA TYPE WRBTR,
          VALUE TYPE WRBTR,
          VALUE1 TYPE WRBTR.
    SELECTION-SCREEN: BEGIN OF BLOCK B1.
    PARAMETERS:  S_HKONT LIKE WA_BSIS-HKONT DEFAULT '0001460002' .
    SELECT-OPTIONS: S_BUDAT FOR WA_BSIS-BUDAT,
                    S_AUFNR FOR WA_BSIS-AUFNR DEFAULT '200020',
                    S_BELNR FOR WA_BSIS-BELNR.
    SELECTION-SCREEN: END OF BLOCK B1.
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF SCREEN-NAME = 'S_HKONT'.
          SCREEN-INPUT = 0.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    START-OF-SELECTION.
      SELECT MONAT
             HKONT
             BELNR
             BUDAT
             WRBTR
             SHKZG
             SGTXT
             AUFNR
             FROM BSIS
             INTO TABLE IT_BSIS
             WHERE HKONT EQ S_HKONT
             AND   BELNR IN S_BELNR
             AND   BUDAT IN S_BUDAT
             AND   AUFNR IN S_AUFNR.
    *  if sy-subrc <> 0.
    *    message 'No Data' type 'I'.
    *  endif.
      SELECT SUM( WRBTR )
             FROM BSIS
             INTO COLLECT-TOT
             WHERE HKONT EQ S_HKONT
             AND BUDAT < S_BUDAT-LOW
             AND AUFNR IN S_AUFNR.
    END-OF-SELECTION.
      CLEAR: S_BUDAT, S_AUFNR, S_BELNR, S_HKONT.
      LOOP AT IT_BSIS INTO WA_BSIS.
    IF wa_bsis-SHKZG = 'H'.
       wa_bsis-WRBTR = 0 - wa_bsis-WRBTR.
    ENDIF.
        collect-MONAT  = wa_bsis-monat.
        collect-HKONT  = wa_bsis-hkont.
        collect-BELNR  = wa_bsis-belnr.
        collect-BUDAT  = wa_bsis-budat.
        collect-WRBTR  = wa_bsis-wrbtr.
        collect-SHKZG  = wa_bsis-shkzg.
        collect-SGTXT  = wa_bsis-sgtxt.
        collect-AUFNR  = wa_bsis-aufnr.
        collect collect into  collect.
        CLEAR: COLLECT, WA_BSIS.
      ENDLOOP.
      LOOP AT COLLECT.
        AT end of HKONT.
          WRITE:/65 'OpeningBalance',
                 85  collect-tot.
          skip 1.
        ENDAT.
        WRITE:/06 COLLECT-BELNR,
               22 COLLECT-BUDAT,
               32 COLLECT-WRBTR,
               54 COLLECT-SGTXT.
        AT end of MONAT.
          SUM.
          WRITE:/ COLLECT-MONAT COLOR 1.
          WRITE:32 COLLECT-WRBTR COLOR 1.
          VALUE = COLLECT-WRBTR.
          SKIP 1.
        ENDAT.
        VALUE1 = COLLECT-TOT +  VALUE.
        AT end of MONAT.
          WRITE:85 VALUE1.
        ENDAT.
      endloop.
      CLEAR: COLLECT, SUMA, VALUE, VALUE1.
    TOP-OF-PAGE.
      WRITE:/06 'Doc No',
             22 'Post Date',
             39 'Amount',
             54 'Text'.
    Moderator message : See the Sticky threads (related for performance tuning) in this forum. Thread locked.
    Edited by: Vinod Kumar on Oct 13, 2011 11:12 AM

    Hi Ben,
    both BSIS selects would become faster if you can add Company Code BUKRS as 1st field of WHERE clause, because it's the 1st field of primary key and HKONT is the 2nd field of primary key.
    If you have no table index with HKONT as 1st field it's a full database access.
    If possible, try to add BUKRS as 1st field of WHERE clause, otherwise ask for an additional BSIS index at your basis team.
    Regards,
    Klaus

  • Is there a way to improve the performance of a report group?

    Hi gurus,
    Is there a way to improve the performance of a report group? 
    Points will be given later....
    Thanks!

    Hi there,
    Thank you for your response. I thought there's no answer for this issue and planning to change it to ALV.
    I looked at the codes and debugged it. After the select statement from ZZUWT table (customized), there's a loop that takes much time (10-12mins) for 1000 records. and several nested perform routines. It's a standard program so I'm hesitant to edit it.
    I'll be checking on the primary keys. If it's ok, may I ask for your assistance in this part? Though I'm not that familiar and haven't tried creating a report painter before.
    Thanks anyway...:D

  • HT5429 Map Problem: I can't see the roads in Standard view. Is there any way to improve this serious problem?

    Map Problem: I can't see the roads in Standard view. Is there any way to improve this serious problem?

    Hi Ben,
    both BSIS selects would become faster if you can add Company Code BUKRS as 1st field of WHERE clause, because it's the 1st field of primary key and HKONT is the 2nd field of primary key.
    If you have no table index with HKONT as 1st field it's a full database access.
    If possible, try to add BUKRS as 1st field of WHERE clause, otherwise ask for an additional BSIS index at your basis team.
    Regards,
    Klaus

  • How do I make my Iphone add to iCal-not the other way round

    Sorry, if I am dumb.
    Very simply, I do all my entries on my iPhone. Calendars, Contacts etc.
    How can I ensure that my iPhone updates my MacBookPro but not the other way around?
    Some of the old email addresses in my contacts are just that, email addresses. I have updated those in my phone with phone numbers and then when I sync I get them all back.
    Thanks in advance for helping.

    Do you use the Address Book application on your Mac when not accessing the iPhone for the same?
    If so, you can delete all contacts from the Address Book application as you can with any other data on your computer. Select the Address Book's All Group which is where all contacts are stored. You can edit each contact or you can delete each contact - with a contact selected at the menu bar go to Edit > Delete Card.
    Address Book data is stored somewhere - all Address Book data on your Mac is stored in a single data file located at Home > Library > Application Support > AddressBook > AddressBook.data. If you delete contact information from the Address Book, the data is removed from this data file which is what the Address Book application accesses for this data.
    Or you can delete the entire AddressBook folder with the Address Book application quit before doing so and all Address Book data will be deleted in one swoop but if you do this, all current contact information available on your iPhone will be put back in the Address Book application on your Mac during the next sync function.
    I think it is faster and easier to edit all contact information in the Address Book application on your Mac and there is also a preference setting for your iPhone sync preferences to replace all contact information on the iPhone with the Address Book information on your Mac which will revert to the standard sync process for this data during the next sync.
    Calendar events in iCal are stored in a separate iCal data file apart from the Address Book data file. Although integrated, these are separate applications with their own data file.

  • I am using Illustrator CS5. I am using a certain font and when I make a selection to use one of the letter options or a glyph, it does not take my selection; in other words, nothing changes.

    I am using Illustrator CS5. I am using a certain font and when I make a selection to use one of the letter options or a glyph, it does not take my selection; in other words, nothing changes.

    What font? What system? What Glyph? What language settings? Could be anything. Either way, ask in the AI forum. You'll get quicker answers there - if you provide all the required info.
    Mylenium

  • Is there a way of improving my graphics on my early 2011 macbook pro 13"?

    Does anyone know a way of improving the graphics capability for OpenGL with the Intel 3000 chips in the early 2011 MBP 13"? I bought it not realising the graphics chips had been downgraded and now as a result struggle to do any CGI work that I rely on my computer to do.

    CHRIBAM wrote:
    I'm more inclined to go with Ogelthorpe's advice (if I had the cash).
    I agree with Ogelthorpe as well, the 15" and the 17" MacBook Pro also have dedicated graphics cards which give more performance than the Intel HD 3000 only graphics, which is really of MacBook type performance for consumer user. (playback of video and that's about it)
    Still wondering why Apple went backwards for graphics in the 13", I completely missed the change.
    I'm peeved at Apple for the fact that they didn't make a clear distinction of the disadvantages of the 13" with no dedicated graphics card then lumped it in with the 15" and 17" which do.
    To Apple it's a matter of performance for price, the 13" scores 11 on Cinebench, the 15/17" score 30 and 45, so the  13" doesn't even come close. But it comes in the same silver case, the same "MacBook Pro" name, when in fact it's not so.
    Apple knows people would be attracted to the performance of the MacBook Pro name in a small size factor, the price is also attractive to the younger crowd, the younger crowd are also interested in running 3D games, which need a more powerful video card.
    Your not the first who's complained and feels burned, you trusted Apple was selling you a powerful MacBook Pro machine and you've got a consumer machine instead.
    The 13" Mac laptop should have gotten it's own category, called it a MacBook instead and it should have come with white or black case. But that would have angered Intel most likely, who are trying to push integrated graphics on their CPU's so they own the whole show eventually.
    It's going to take a long time before CPU integrated graphics is ever going to beat dedicated GPU graphics, because 3D game detail is always going to go up until it finally reaches 3D raytracing at 200 fps.
    What Apple is doing is trying to get folks hooked on lessor quality/detail games, the ones you see on iPads and iPhones, and away from wanting rich detail which needs a powerful dedicated video card.
    So Apple lumps the 13" MacBook in with the MacBook Pro line, try to force the issue, next they will try it with the 15", integrated graphics on the low end model. Then again only dedicated graphics on the 17" model and so forth. Eventually developers won't make as many 3D games for Mac's because most people buy laptops, cuts into their potential sales.
    If you really want to run 3D games, you have to go with a Windows 7 desktop where the video card can be swtiched out.
    http://www.cbscores.com/index.php?sort=ogl&order=desc

  • I able to copy and paste files from external hard drive to mac, but not the other way around. Please suggest. Thanks

    I m able to copy and paste selected files from external hard drive to my mac but not the other way around. Im not able to copy files from Mac to external hard drive.
    The same is working fine with USB flash memory.
    Please help.

    Vijay Raymond Daniel wrote:
    The only thing is we need to buy this software. if there is a free solution to inter change files between NTFS and HFS it would be better,
    Don't use NTFS, remove your data off it first and change the format to something the Mac and PC can read, but doens't cost money or require software.
    Drives, partitions, formatting w/Mac's + PC's

Maybe you are looking for

  • Encrypt-Decrypt in XI

    Hi ,    Can any one explain me how do u perform encryption decryption in XI    with an example.    I Just knw that it is possible through Java  mapping.   but i dont knw how to do it. can any one send a sample code on   [email protected]    Is it pos

  • "change" button is not visible in check status ?

    HI, We are under upgrade of SRM 4.0 to SRM 5.0 . In SRM 4.0 "change" button is visible in check status even if shopping cart is under approval state. But in SRM 5.0 "change" button is not visible in check status if Shopping cart is under approval sta

  • PO : Invoice value in ME23N is not matching with 2LIS_02_SCL field BWGEO

    Hi Expert,               1) Invoice value in ME23N tcode is not matching with datasource 2LIS_02_SCL field BWGEO in item level for few item BWGEO field contain the data with tax but for few item the value is not coming correctly. 2) The value is not

  • Two bank accounts for travel expenses

    Dear all. We would like to have two bank accounts for the travel expenses for one employee. For example: $ 500.00 of the Travel Expenses should go to bank account 12345 The remaining amount of  the Travel Expenses should go to bank account 67890 I ca

  • TS1702 Hi. I installed Simple Minds + mind mapping software in my iPhone 4

    I like the software and wanted to upgrade so I could sync with my Windows 7 laptop. Is this possible.? I purchased the full version upgrade for S$5.98 but nothing happened. I was told by the company that the upgrade was for iPad. I do not own an iPad