Call transaction mb51 : performance issue

Hi,
I have written one report where I am calling Tcode mb51 and getting the records from it and displaying those in my report. Is there any way to have better performance in my report. Since its taking too much time if I select all materials for specific plant.?
rgds,
Madhuri

Madhuri,
   Just run this query to get all the required fields out as that of the MB51 List....ok
types : begin of stype_fields,
          fieldname         type  name_feld,
        end of stype_fields.
types : stab_fields         type standard table
                            of stype_fields
                            with default key.
data : l_t_fields           type stab_fields.
append 'MSEG~ANLN1' to l_t_fields.
append 'MSEG~ANLN2' to l_t_fields.
append 'MSEG~APLZL' to l_t_fields.
append 'MSEG~AUFNR' to l_t_fields.
append 'MSEG~AUFPL' to l_t_fields.
append 'MKPF~BKTXT' to l_t_fields.
append 'MKPF~BLDAT' to l_t_fields.
append 'MSEG~BPMNG' to l_t_fields.
append 'MSEG~BPRME' to l_t_fields.
append 'MSEG~BSTME' to l_t_fields.
append 'MSEG~BSTMG' to l_t_fields.
append 'MKPF~BUDAT' to l_t_fields.
append 'MSEG~BUKRS' to l_t_fields.
append 'MSEG~BWART' to l_t_fields.
append 'MSEG~BWTAR' to l_t_fields.
append 'MSEG~CHARG' to l_t_fields.
append 'MKPF~CPUDT' to l_t_fields.
append 'MKPF~CPUTM' to l_t_fields.
append 'MSEG~DMBTR' to l_t_fields.
append 'MSEG~EBELN' to l_t_fields.
append 'MSEG~EBELP' to l_t_fields.
append 'MSEG~ERFME' to l_t_fields.
append 'MSEG~ERFMG' to l_t_fields.
append 'MSEG~EXBWR' to l_t_fields.
append 'MSEG~EXVKW' to l_t_fields.
append 'MSEG~GRUND' to l_t_fields.
append 'MSEG~KDAUF' to l_t_fields.
append 'MSEG~KDEIN' to l_t_fields.
append 'MSEG~KDPOS' to l_t_fields.
append 'MSEG~KOSTL' to l_t_fields.
append 'MSEG~KUNNR' to l_t_fields.
append 'MSEG~KZBEW' to l_t_fields.
append 'MSEG~KZVBR' to l_t_fields.
append 'MSEG~KZZUG' to l_t_fields.
append 'MSEG~LGORT' to l_t_fields.
append 'MSEG~LIFNR' to l_t_fields.
append 'MSEG~MATNR' to l_t_fields.
append 'MKPF~MBLNR' to l_t_fields.
append 'MSEG~MEINS' to l_t_fields.
append 'MSEG~MENGE' to l_t_fields.
append 'MKPF~MJAHR' to l_t_fields.
append 'MSEG~NPLNR' to l_t_fields.
append 'MSEG~PS_PSP_PNR' to l_t_fields.
append 'MSEG~RSNUM' to l_t_fields.
append 'MSEG~RSPOS' to l_t_fields.
append 'MSEG~SHKZG' to l_t_fields.
append 'MSEG~SOBKZ' to l_t_fields.
append 'MKPF~USNAM' to l_t_fields.
append 'MKPF~VGART' to l_t_fields.
append 'MSEG~VKWRT' to l_t_fields.
append 'MSEG~WAERS' to l_t_fields.
append 'MSEG~WERKS' to l_t_fields.
append 'MKPF~XABLN' to l_t_fields.
append 'MSEG~XAUTO' to l_t_fields.
append 'MKPF~XBLNR' to l_t_fields.
append 'MSEG~ZEILE' to l_t_fields.
    select (l_t_fields)
    into corresponding fields of table itab
    from mkpf inner join mseg
    on    mkpfmandt = msegmandt
      and mkpfmblnr = msegmblnr
      and mkpfmjahr = msegmjahr
       WHERE MKPF~BUDAT in BUDAT
         and MSEG~BWART in BWART
         and MSEG~CHARG in CHARG
         and MSEG~KUNNR in KUNNR
         and MSEG~LGORT in LGORT
         and MSEG~LIFNR in LIFNR
         and MSEG~MATNR in MATNR
         and MSEG~SOBKZ in SOBKZ
         and MKPF~USNAM in USNAM
         and MKPF~VGART in VGART
         and MSEG~WERKS in WERKS
         and MKPF~XBLNR in XBLNR.
If you run this above query in your report instead on calling MB51 in ur report, you will get the list as that of std. MB51, check this out.
Regards,
Chandan

Similar Messages

  • Returning multiple values from a called tabular form(performance issue)

    I hope someone can help with this.
    I have a form that calls another form to display a multiple column tabular list of values(needs to allow for user sorting so could not use a LOV).
    The user selects one or more records from the list by using check boxes. In order to detect the records selected I loop through the block looking for boxes checked off and return those records to the calling form via a PL/SQL table.
    The form displaying the tabular list loads quickly(about 5000 records in the base table). However when I select one or more values from the table and return back to the calling form, it takes a while(about 3-4 minutes) to return to the called form with the selected values.
    I guess it is going through the block(all 5000 records) looking for boxes checked off and that is what is causing the noticeable pause.
    Is this normal given the data volumes I have or are there any other perhaps better techniques or tricks I could use to improve performance. I am using Forms6i.
    Sorry for being so long-winded and thanks in advance for any help.

    Try writing to your PL/SQL table when the user selects (or remove when deselect) by usuing a when-checkbox-changed trigger. This will eliminate the need for you top loop through a block with 5000 records and should improve your performance.
    I am not aware of any performance issues with PL/SQL tables in forms, but if you still have slow performance try using a shared record-group instead. I have used these in the past for exactly the same thing and had no performance problems.
    Hope this helps,
    Candace Stover
    Forms Product Management

  • How to clear all selection screen parameters before calling transaction?

    Hi Experts
       I have a ABAP report that displays data using ALV.
      When I double click a cell it calls transaction MB51. Before calling the transaction I need to set some parameters of the selection screen  of the transaction.
      My code is like below:
      <UL>
       <LI>FREE MEMORY ID 'MAT'. <I>"material</I>
       <LI> FREE MEMORY ID 'WRK'. <I>"plant</I>
       <LI> FREE MEMORY ID 'CHA'. <I>"batch</I>
       <LI><I>* Get the selected ALV row data</I>
       <LI>READ TABLE i_recon INDEX p_selfield-tabindex INTO x_recon.
       <LI><I>*   If link MB51 is clicked then open tcode MB51</I>
       <LI> IF p_selfield-sel_tab_field+8(4) = 'MB51'.
       <LI><I>*   Pass material, plant to the corresponding tcode</I>
       <LI>       SET PARAMETER ID 'MAT' FIELD x_recon-matnr.
       <LI>       SET PARAMETER ID 'WRK' FIELD p_plant.
        <LI>      CALL TRANSACTION 'MB51' AND SKIP FIRST SCREEN.
    </UL>
    The problem is:
    <UL> <LI> 1. First, I run the given transaction before running the report in a separate session with some set of values in the selection screen. For example: plant = AB01, Material = 990001 and Batch = 10001.</LI>
    </UL>
    <UL>
            <LI> 2. Then in another session I run my report. In the report ALV I have selected a record where plant = AB01, Material = 990001 but Batch is blank. But it opens the transaction with plant = AB01, Material = 990001 and Batch = 10001.
    Even though in my ALV record the batch is blank yet it uses the batch value from the memory. That is, the batch value that was given in the transaction earlier. Why it is not getting cleared? I have also used FREE MEMORY ID code in the beginning. But still it is not clearing the values in the memory.
    </UL>
    <UL>
            <LI>What shall I do to clear all the selection screen parameters before calling the transaction?</LI>
    </UL>
    <UL>
            <LI>
    Thanks
    Gopal
    </LI>
    </UL>
    Edited by: gopalkrishna baliga on Aug 11, 2010 10:29 AM

    Its because sap memory is globally shared.
    Do it like this.
    READ TABLE i_recon INDEX p_selfield-tabindex INTO x_recon.
    IF p_selfield-sel_tab_field+8(4) = 'MB51'.
    perform bdc_dynpro      using 'RM07DOCS' '1000'.
    perform bdc_field       using 'BDC_OKCODE'   '=ONLI'.
    perform bdc_field       using 'MATNR-LOW'  x_recon-matnr.
    perform bdc_field       using 'WERKS-LOW'  p_plant.
    perform bdc_field       using 'CHARG-LOW'  p_batch.
    perform bdc_field       using 'DATABASE'  'X'.
    call transaction 'MB51' with i_bdcdata mode 'E'.
    endif.
    form bdc_dynpro using program dynpro.
      clear la_bdcdata.
      la_bdcdata-program  = program.
      la_bdcdata-dynpro   = dynpro.
      la_bdcdata-dynbegin = 'X'.
      append la_bdcdata to i_bdcdata.
    endform.
    form bdc_field using fnam fval.
        clear la_bdcdata.
        la_bdcdata-fnam = fnam.
        la_bdcdata-fval = fval.
        append la_bdcdata to i_bdcdata.
    endform.

  • Call Transaction (BAPI) in ABAP Web Dynpro

    I'm developing a ABAP WD application which make use of a RFC BAPI. The BAPI will then use call transaction to perform certain operation on R3. 
    <b>CALL TRANSACTION 'IQS12' USING bdcdata MODE 'P'
      MESSAGES INTO itab.</b>
    It works fine when I tested it using TCode SE37. When the call transaction fails all error message is trapped inside the internal table.
    However when I run it using ABAP WD, it does not return the internal table but an error page on the portal. The error message was displayed on the portal page. I would like to handle the error message by my own. Is there any way doing this?
    Appreciate if anyone can sort this out for me. Thanks in advance.
    Ricky

    Hi,
    It's okie now. I have found out that this is a known issue and there's a SAP notes (935725) for that.
    According to the notes, call transaction with message type E will fail if the BAPI is executed through http.
    Thanks for replying. Appreciate that.
    Ricky

  • Initial Load Error - No generation performed. Call transaction GN_START

    Hi Folks,
    We are doing middleware configuration for data migration between R3->CRM.Have followed "Best Practies" configuration Guide.
    System Using; CRM 2007 and ECC6.0
    Issue
    While performing initial load, system is throwing the error as
    001- No generation performed. Call transaction GN_START
    002-Due to system errors the Load is prohibited (check transaction MW_CHECK)!
    After calling the transaction GN_START system asks for job scheduling,whereas I have already scheduled it.
    A job is already scheduled periodically.
    Clicking on 'Continue' will create another job
    that starts immediately.
    After checking(MW_CHECK),message is displayed as
    No generation performed. Call transaction GN_START.
    If anybody has encountered the similar issue and has resolved it,their guidence will be greatly appriciated.
    Thanks in Advance
    VEERA B

    Veera,
    We also faced the same problem when we have done the upgrade from CRM 4.0 to CRM 2007.
    For that you go to SMWP where you can see all the errors related to Middleware with the error message so try to remove the error,
    Also pls check in RZ20 and activate the middleware trace tree.
    Regards
    Vinod

  • 2 issues with call transaction to LS24

    Hello All,
    There are 2 issues with call transaction to LS24.
    <b>1) It doesn't take batch value and displays stock for all batches.
    2) When you go back, it doesn't go back to the calling program.</b>
    Any thoughts ?
    <u>Here is my code:</u>
    PARAMETERS: p_lgnum TYPE lgnum,
                p_matnr TYPE matnr,
                p_werks TYPE werks_d,
                p_lgort TYPE lgort_d,
                p_charg TYPE charg_d.
    START-OF-SELECTION.
    END-OF-SELECTION.
      PERFORM display_stock_per_batch.
    *&      Form  DISPLAY_STOCK_PER_BATCH
    FORM display_stock_per_batch .
      SET PARAMETER ID 'LGN' FIELD p_lgnum.
      SET PARAMETER ID 'MAT' FIELD p_matnr.
      SET PARAMETER ID 'WRK' FIELD p_werks.
      SET PARAMETER ID 'LAG' FIELD p_lgort.
      SET PARAMETER ID 'CHA' FIELD p_charg.
      CALL TRANSACTION 'LS24' AND SKIP FIRST SCREEN.
    ENDFORM.                    " DISPLAY_STOCK_PER_BATCH

    hello
    use this code
    perform bdc_dynpro      using 'SAPML01S' '0209'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RL01S-CHARG'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'RL01S-LGNUM'
                                  p_lgnum.
    perform bdc_field       using 'RL01S-MATNR'
                                  p_matnr.
    perform bdc_field       using 'RL01S-WERKS'
                                  p_werks.
    perform bdc_field       using 'RL01S-LGORT'
                                  p_lgort.
    perform bdc_field       using 'RL01S-BESTQ'
    perform bdc_field       using 'RL01S-SOBKZ'
    perform bdc_field       using 'RL01S-CHARG'
                                  p_charg.
    perform bdc_dynpro      using 'SAPML01S' '0209'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/EBACK'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RL01S-LGNUM'.
    perform bdc_transaction using 'LS24'.
    may be it will help u

  • Improve performance of bdc call transaction

    Hi all,
    I am performing a batch update of tax codes in a BDC call transaction program. This particular code takes about 3 minutes to process 2,600 entries. I have tried almost everything but is there a way to improve / make it run faster?
    I have a feeling it has something to do with the form "do_transaction", but I really don't know anymore.
    Thank you in advance.
    Attached is the code:
    *& Report  ZFI_CHANGEWTAX
    *&  Description: Change Doctors Withholding Tax Code (EI)
    *&  Using BDC Call Transaction Method
    *&  Created by : mpena
    *&  Created on : 07/15/2009
    *&  Modification History
    *&  Seq  Changed on
    *&       Changed by
    *&  001   07/15/2009
    *&        mpena         Initial Development
    *&  002   07/20/2009
    *&        mpena         Logic modification
    *&                      Testing
    *&  003   07/20/2009
    *&        mpena         Call function parameter modification
    *&  004   07/22/2009
    *&        mpena         Report generation
    *&                      Performance improvements
    REPORT zfi_changewtax
           NO STANDARD PAGE HEADING
           MESSAGE-ID zfk02msg.
    TYPES: BEGIN OF t_tax,
           lifnr LIKE lfa1-lifnr,                "account number
           wt_withcd LIKE lfbw-wt_withcd,        "current tax code
           wt_withcd_new LIKE lfbw-wt_withcd,    "new tax code (left blank at default)
           END OF t_tax.
    DATA:  wa_tax TYPE t_tax,
           i_tax TYPE STANDARD TABLE OF t_tax,
           it_bdcdata TYPE bdcdata OCCURS 0 WITH HEADER LINE,
           lin TYPE i.
    -------Selection Screen Design -
    SELECTION-SCREEN:
    SKIP 1,
    BEGIN OF BLOCK blk1 WITH FRAME TITLE aaa.
    PARAMETERS: p_ktokk LIKE lfa1-ktokk DEFAULT 'DOCT' OBLIGATORY,
                p_bukrs LIKE lfbw-bukrs DEFAULT 'SL' OBLIGATORY,
                p_wtax LIKE lfbw-wt_withcd OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK blk1.
    INITIALIZATION.
      aaa = 'Change Tax Code to specified value'.
    TOP-OF-PAGE.
      WRITE:
      / 'Update of taxes successful on:', sy-datum, sy-uzeit,
      / 'Generated by:', sy-uname,
      / 'Company Code:', p_bukrs, 'Vendor Group:', p_ktokk.
      SKIP 1.
      ULINE.
      WRITE:
      / 'Account Number', 20 'Old Withholding Tax Code', 50 'New Withholding Tax Code'.
      ULINE.
    START-OF-SELECTION.
      SELECT lfa1~lifnr
             lfbw~wt_withcd
      INTO TABLE i_tax
      FROM lfa1 INNER JOIN lfbw
        ON lfa1lifnr = lfbwlifnr
        WHERE lfbw~bukrs EQ p_bukrs
        AND lfbw~witht EQ 'EI'.
      IF sy-subrc EQ 0.
        DESCRIBE TABLE i_tax LINES lin.
      ENDIF.
    Update i_tax with new value of wt_witchd, then display for comparison.
    After write: if old and new tax are the same, tax update was not successful for that specific account
    or inputted tax type is the same as the old one.
      LOOP AT i_tax INTO wa_tax.
        wa_tax-wt_withcd_new = p_wtax.
        MODIFY i_tax FROM wa_tax.
        WRITE:
        / wa_tax-lifnr,
        20 wa_tax-wt_withcd,
        50 wa_tax-wt_withcd_new.
        CLEAR wa_tax.
      ENDLOOP.
      PERFORM do_transaction USING p_bukrs p_wtax.
    *&      Form  do_transaction
         Extracted from ZFKO2 recording accessible in shdb.
    FORM do_transaction USING v_bukrs v_wtax.
      MESSAGE i000 WITH lin.
      LOOP AT i_tax INTO wa_tax.
        REFRESH it_bdcdata.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0106'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'RF02K-D0610'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'RF02K-LIFNR'
                                      wa_tax-lifnr.
        PERFORM bdc_field       USING 'RF02K-BUKRS'
                                      v_bukrs.
        PERFORM bdc_field       USING 'RF02K-D0610'
                                      'X'.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0610'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFBW-WT_WITHCD(01)'.
        PERFORM bdc_field       USING 'LFB1-QLAND'
                                      'PH'.
        PERFORM bdc_field       USING 'LFBW-WT_WITHCD(01)'
                                      v_wtax.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0610'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=UPDA'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFB1-QLAND'.
        PERFORM bdc_field       USING 'LFB1-QLAND'
                                      'PH'.
        CALL TRANSACTION 'FK02' USING it_bdcdata
                                MODE   'N'
                                UPDATE 'A'.
      ENDLOOP.
      MESSAGE i001.
    ENDFORM.                    "do_transaction
           form for bdc dynpro
    FORM bdc_dynpro USING program
                          dynpro.
      it_bdcdata-program = program.
      it_bdcdata-dynpro = dynpro.
      it_bdcdata-dynbegin = 'X'.
      APPEND it_bdcdata.
      CLEAR it_bdcdata.
    ENDFORM.                    "bdc_dynpro
           form for bdc field
    FORM bdc_field  USING fnam
                          fval.
      it_bdcdata-fnam = fnam.
      it_bdcdata-fval = fval.
      APPEND it_bdcdata.
      CLEAR it_bdcdata.
    ENDFORM.                    "bdc_field

    You might want to try using a BAPI instead of a call transaction.   I believe "BAPI_VENDOR_SAVECHARVALREPLICA" will work for you.  Calling a BAPI is just like calling a function module.   After you call the bapi remember to commit it with the function module "BAPI_TRANSACTION_COMMIT".

  • Issue in background job for call transaction

    Dear All,
    I am facing a strange issue with call transaction. I need to add some Purchase requisitons in the APO using Call transactionmethod. It is working fine In All screen mode and No Screen Mode. But when I schedule the program in BAckground processing it is not wokring fine. It is not creating any Purchase requisitioins. When I debug the background Job it is creating Purchase requisitions.
    Please find the code below
        DATA: l_wa_params TYPE ctu_params.
        l_wa_params-dismode = l_c_mode.
        l_wa_params-updmode = 'A'.
        l_wa_params-defsize = 'X'.
        l_wa_params-racommit = 'X'.
        CALL TRANSACTION '/SAPAPO/RRP3' USING fp_i_bdcdata OPTIONS FROM l_wa_params
                                            MESSAGES INTO l_i_bdcmsgcoll.

    Hi,
    I have exactly the same problem with transaction /SAPAPO/RRP5.
    Thanks in advance for your help,
    Yannick CAREL

  • Issue with using call transaction CJ9F and F.M  BAPI_PROJECT_MAINTAIN

    Hello All,
    In my custom program for a given project in selection screen we are getting all the related data as shown in CJ20N, in this screen I first created the WBS element and during save we used F.M BAPI_PROJECT_MAINTAIN to update the data, and next called transaction CJ9F to update BLC, after this we are comming back to selection screen 1000.
    Now from selection screen if i enter again into that project details screen and try to create a new WBS it is showing below information msg.
    Changing the contents of the field is not permitted
    Message no. CJ727
    If i remove the call transaction CJ9F part during save i am not getting the above error msg.
    I think i am getting this error when we call the function module BAPI_PROJECT_MAINTAIN twice in the program.
    Please help me to resolve this issue, as this msg is not allowing to save or create anything. 
    But i found that if i come totally out of my custom transaction and enter once again into that Z transaction it is working fine with out that message
    Please help me to resolve this issue.

    Hi,
    Not sure, but if it is possible, complete your project update using the custom transaction and do the CJ9F afterwards seperately.
    Regards
    Sreekanth

  • Performance issue: CALL FUNCTION inside a Loop.

    Hi Friends
    I have a Performance Issue. That is, inside a loop...endloop a CALL FUNCTION has been used which gets data from another database table. Finally it's appended into another internal table. Please see this :
      LOOP AT i_mdkp.
        REFRESH lt_mdtbx.
        CLEAR lt_mdtbx.
        CALL FUNCTION 'READ_MRP_LIST'
          EXPORTING
            idtnum        = i_mdkp-dtnum
            icflag        = 'X'
          tables
            mdtbx         = lt_mdtbx
        APPEND LINES OF lt_mdtbx TO i_mdtb.
      ENDLOOP.
    It happens for each record available in i_mdkp. Suppose, i_mdkp have around 50000 records, it needs to call the function module till that much time.
    So, I want to split it. Can I?
    Please give me your valueable suggestions.
    Regards
    Senthil

    If internal table i_mdkp has 50,000 records it does not mean that you need to run 50,000 iterations. You just need dtnum from internal table i_mdkp so you number of iterations should be eqaul to the unique number of dtnum in the internal table. Sort the internal table by dtnum and delete adjacent duplicates from the internal table comparing dtnum before looping. Look at the code below.
    DATA i_mdkp_tmp LIKE TABLE OF i_mdkp.
    IF NOT i_mdkp[] IS INITIAL.
      i_mdkp_tmp[] = i_mdkp[].
      SORT i_mdkp BY dtnum.
      DELETE ADJACENT DUPLICATES FROM i_mdkp COMPARING dtnum.
      REFRESH i_mdtb.
      LOOP AT i_mdkp.
        CALL FUNCTION 'READ_MRP_LIST'
          EXPORTING
            idtnum = i_mdkp-dtnum
            icflag = 'X'
          TABLES
            mdtbx = lt_mdtbx.
        APPEND LINES OF lt_mdtbx TO i_mdtb.
        REFRESH lt_mdtbx.
      ENDLOOP.
      i_mdkp[] = i_mdkp_tmp[]
    ENDIF.

  • Performance issue due to RFC calls. (R/3 to R/3 system)

    Hi,
    My application face serious performance problem because of RFC calls (R/3 system to R/3 system).
    1)is there any transaction code for doing performance analysis on RFC calls in R/3 system?
    2)How far large volume of Data Transfer (mainly due to internal tables) in a RFC call affects the performance? is there any limit for data transfer size at a time in a RFC call? if so how to calculate for best performance?
    Thanks and regards,
    Prakash.

    Hi Andreas,
    Suppose an RFC enabled Fm having an internal table as importing parameter.During execution of this Fm with 4000 enteries for the internal table results in performance degrading.is there any way to improve the performance?.
    Thanks and regards,
    Prakash.

  • Performance issue: Adding a new product line to existing Quote calls pricing engine for existing line a well

    Hi All,
    I need some assistance for my below query...
    If there are already existing some product/quote lines on the quote and then we try to add another new product/quote line to this quote , then  it is taking more time to add the product. As per my understanding it is calling the Pricing engine for the existing line as well. How can we avoid the pricing engine call for the existing lines.
    There are some parameters which we are setting as mentioned below :
    l_control_rec.header_pricing_event := 'BATCH' -- What does this mean when we set to batch
    l_control_rec.price_mode := 'ENTIRE_QUOTE'; -- (possible values could be CHANGE_LINES , QUOTE_LINE)
    l_header_rec.pricing_status_indicator := 'C';
    l_control_rec.calculate_freight_charge_flag := 'Y';
    l_control_rec.calculate_tax_flag := 'Y';
    l_header_rec.tax_status_indicator := 'C';
    Question :Could someone please help us with this whether is there any way with these parameters could be altered or changed to some other value ( like for PRICE_MODE we see this parameter could have some other values like : CHANGE_LINES , QUOTE_LINE etc other than ENTIRE_QUOTE).
    means lets say we do the Pricing Engine call only for the Newly Added quote line but not do it for the Entire Quote again and again..
    Now the other question here could be how do we finally synch the line level price values for all the quote lines upto the Quote header level in form of Totals (TOTAL_LIST_PRICE,TOTAL_TAX, TOTAL_SHIPPING_CHARGE, SURCHARGE, TOTAL_QUOTE_PRICE in aso_quote_headers_all table) ??
    Also is there a way that we don't do the Freight Charge calculation and Tax calculation (means we skip this completely) while adding products to the quote but do it at a later point when doing the Submit to Order functionality.
    Could someone please help with these pricing related parameters and modes to be used in order to get around this performance issue
    Thanks
    Mithun

    Dear Expert,
    Activate your Controlling area as usual and Cost Centers and Profit Center , You can assign an internal order for the particular product line for what you are seeing and can collect the costs of that particular product line exclusively.
    Regards,
    Shankar K B

  • Performance issue on calling the API queryFolders to retrive the subfolders

    Hi, We are using 10.3.0 collaboration server.When we make an API call to get the folders under a parent folder, the API is taking more than 2 minutes to return. When we did research, found out that the query collaboration server is executing taking time to return the results from the collaboration database. I am copying the query below. The performance issue coming when the number of sub folders is more than 1400. I did few experiments on this query. When I remove the sort clause, the query is running too fast. If i keep the sort clause and remove the sub query in select clause , query is running fast. But the combination is taking too much time i.e. 80 seconds. Please share your ideas on how to increase the performance of this API call. We are planning to upgrade to another version of collab but not sure whether it would fix the problem. Highly appreciated your valuable suggestions. Let me know if you need more information.
    SELECT OBJ.OBJECTID, OBJ.TID, OBJ.CREATED, OBJ.MODIFIED, OBJ.NAME,
    OBJ.DESCRIPTION, OBJ.OWNERID, OBJ.PROJECTID, OBJ.PARENTID,
    OBJ.OWNERNAME, OBJ.PARENTPATH, OBJ.PARENTIDPATH, OBJ.DEPTH,
    OBJ.MODERATED, OBJ.CRAWLERACCESSIBLE,(select DISTINCT(1) FROM
    CSFOLDERS where(exists(select * from csFolders subFolders where
    subFolders.parentID=OBJ.objectid))) as HASVISSUBFOLD FROM CSFOLDERS
    OBJ WHERE EXISTS (SELECT * FROM CSROLEMEMBERSHIP RM,CSFOLDERSECURITY
    OS,PLUMTREE.PTVGROUPMEMBERSHIP GRP WHERE OS.ACCESSLEVEL > 0 AND
    GRP.USERID=:v0 AND GRP.GROUPID = RM.PTGROUPID AND RM.OBJECTID =
    OS.ROLEID AND OS.OBJECTID = OBJ.OBJECTID) AND obj.TID = 3 AND
    (obj.parentID=:v1) ORDER BY LOWER(obj.NAME) ASC

    hi reddy,
    before applying for all entries on mseg
    1.sort t_mard by matnr werks and lgort
    2. if not t_mard is initial.
         select mblnr mjahr etc...
       endif. 
    these are the main precautions u need to look into before you are using second select.
    entires from bseg, mseg will consume lot of time.
    so the best if only the fields u r showing are required then take it from the respective table like
    ebeln ebelp from ekpo
    like that .
    so the alternative will be this but this will be the best option if u know only these fields are to be selected .
    hope u r getting my point.
    yeah swagatika also said correctly that u can go for indexing so the Retrieval is faster.
    one more option is construct a view/structure and proceed .
    regards,
    TVK.
    Message was edited by: Vikky

  • Performance issue: Calling a BAPI PO create in test mode to get error msgs

    Hi,
    We have an ALV report in which we display purchase orders that got created in SAP, but either got blocked due to not meeting PO Release strategy tolerances or have failed output messages. we are displaying the failed messages even.
    We are looping the internal table of eban(PR) & calling bapi po create in test mode to get failed messages.
    Now we are facing performance issue in production. What can be the alternate efficient way to get the error msgs with efficiency
    Regards,
    Ayub H.
    Moderator message: duplicate post (different ID, same company...), see below:
    Performance issue calling bapi po create in test mode to get error messages
    Edited by: Thomas Zloch on Mar 9, 2012

    Hi Suvarna,
    so you need to reduce the number of PO-simulations.
    - Likely you checked already, that all EBAN-entries should already be converted into POs. If there would be a large number of "new" EBAN-entries, they don't need to be simulated.
    - If it's a temporary problem: give aid to correct the problems (maintain prices or whatever the error-reasons are) Then the amount of not-converted purchase requisitions (PR) should drop, too
    - If it's likely, that your volume of open PR will stay high: create a Z-Table with key of EBAN and a counter, simulate (once a day) PO conversions and store the results in the Z-table. In your report you can use the results... if they are "new enough". From time to time new simulations should be done, missing master data might be available.
    Maybe users should be allowed to start this 2nd report manually (in background), too -> then they can update the messages after some data corrections themself, without waiting for the result (just check later in online report and do something different in between).
    And you might need to explain, PO simulation takes as long as PO creation... there is no easy or fast way around this.
    Best regards,
    Christian

  • Performance issue calling bapi po create in test mode to get error messages

    Hi,
    We have  a report which displays in alv the purchase orders that got created in SAP, but either got blocked due to not meeting PO Release Strategy tolerances or have failed output messages .We are displaying the failed messages too.
    We are looping the internal table of eban(purchase requisition) and calling bapi po create in test mode to get failed messages.
    Now we are facing performance issue in production.What can be the other effecient way to get the error messages without effecting performance.
    Regards,
    Suvarna

    Hi Suvarna,
    so you need to reduce the number of PO-simulations.
    - Likely you checked already, that all EBAN-entries should already be converted into POs. If there would be a large number of "new" EBAN-entries, they don't need to be simulated.
    - If it's a temporary problem: give aid to correct the problems (maintain prices or whatever the error-reasons are) Then the amount of not-converted purchase requisitions (PR) should drop, too
    - If it's likely, that your volume of open PR will stay high: create a Z-Table with key of EBAN and a counter, simulate (once a day) PO conversions and store the results in the Z-table. In your report you can use the results... if they are "new enough". From time to time new simulations should be done, missing master data might be available.
    Maybe users should be allowed to start this 2nd report manually (in background), too -> then they can update the messages after some data corrections themself, without waiting for the result (just check later in online report and do something different in between).
    And you might need to explain, PO simulation takes as long as PO creation... there is no easy or fast way around this.
    Best regards,
    Christian

Maybe you are looking for

  • Error while creating webservice destination in PI 7.1

    Hi, I have a Webdynpro application developed with NWDS 7.1 that is consuming web services from PI 7.1 server. I have exposed RFCu2019s from PI 7.1 as web service using transaction se37 and consumed them in my Webdynpro application. I have to deploy t

  • Adding some new fields for display in SAP Query

    I need to add some fields for display in SAP query  01 of  infoset /SAPQUERY/AM01. So I have changed the infoset by checking the additional fields which is already in LDB. Then I created the query by copying the 01 of  infoset /SAPQUERY/AM01 to Zuser

  • Can't uninstall Itunes so I can reinstall

    Here's the deal. I recently took my PC apart to trouble shoot a problem. When I put everything back together my 3rd HD that stores all my programs had it's drive letter changed from D: to E:. Now my itunes was on this drive. When I tried to start it

  • My instagram keeps deleting stuff!!

    instagram keeps deleting my photos, comments, and captions. It is also unfollowing people! I know for a fact it can't be the app since I've deleted it, and I also tried making a new account but then it did the same thing! Please help!

  • Mail - How do I edit contacts?

    Hi I am not asking how I launch the address bar from the dock. I would like to know how, in mail and looking at my inbox, how I can edit a contact's details? I know this is done in that awfull 'address book' app but how, from mail, do I launch addres