IPC complex routine

Hi everybody,
I want to refer to another pricing conditions in my IPC routine (OvervriteConditionValue method)
I have three pricing conditions (320,330,340) and I want to calculate a new one referred to these three (the addition of these).
My code is the following:
case 660:
for(int step=320;step<=340;step+10)
     int counter = 0;
     BigDecimal ZPar=PricingConstants.ZERO;
     IPricingCondition condicion=((IPricingItemUserExit)prItem).findPricingCondition(step,counter);
     BigDecimal Res=prCondition.getConditionRate().getValue();
     ZPar= ZPar.add(Res);
     return ZPar;
I want return the addition of 320330340 pricing conditions.
¿Is this the way? It seems not to work fine.
Thank you very much friends.
Message was edited by: Javier Merino Vivar

I have a similar problem. Were you able to solve it? if yes can you share the solution?

Similar Messages

  • IPC Pricing routine for Product Family Margin in Quotation is not working

    Hi,
    I am working on the IPC Pricing Routine to calculate Item's Product Family Margin in the Quotation. 
    Process followed:
    Step 1:  Created a Group condition ZPFM for Product Family Margin and assigned to the pricing procedure. 
    Step 2:  Created a Value Routine to determine ZPFM's Condition Rate and Condition Value.
    Logic: 
              1.  Collect (Sum Of)  the Cost (ZSVC) and the Subtotal 3 of the items which are in same Material Group.
               2.  Assign the ZPFM Condition Value = Sum of Subtotal 3 - Cost.
    Issue:  The condition value for ZPFM is calculating correct for all line items except the last item.  I am getting some junk value always to the last item. If I delete the last time, again next last item is giving wrong value.  The calculation value in the routine debugging log (SM53) is showing correct value.  However, assigning the wrong value.  No other routines have been assigned to this condition type in the pricing procedure. 
    Routine Code:
    package stanley.pricing.userexits.val;
    import java.math.BigDecimal;
    import com.sap.spe.pricing.customizing.PricingCustomizingConstants;
    import com.sap.spe.pricing.transactiondata.PricingTransactiondataConstants;
    import com.sap.spe.pricing.transactiondata.userexit.IPricingConditionUserExit;
    import com.sap.spe.pricing.transactiondata.userexit.IPricingItemUserExit;
    import com.sap.spe.base.logging.UserexitLogger;
    import com.sap.spe.pricing.transactiondata.userexit.ValueFormulaAdapter;
    //import com.sap.spe.pricing.transactiondata.userexit.IPricingCondition;
    public class Z_CondValueRoutine730 extends  ValueFormulaAdapter{
       private static UserexitLogger uelogger =
              new UserexitLogger(Z_CondValueRoutine730.class);
      public BigDecimal overwriteConditionValue(IPricingItemUserExit pricingItem,
             IPricingConditionUserExit pricingCondition) {
      // Variable Declarations.
      BigDecimal conditionValueZCVC=PricingTransactiondataConstants.ZERO;
      BigDecimal conditionValueZCVCAccrual=PricingTransactiondataConstants.ZERO;
      BigDecimal subTotal3=PricingTransactiondataConstants.ZERO;
      BigDecimal subTotal3Accrual=PricingTransactiondataConstants.ZERO;
      if(pricingCondition.getConditionTypeName().equalsIgnoreCase("ZPFM")){
                IPricingItemUserExit[] prItems;
                prItems = pricingItem.getUserExitDocument().getUserExitItems();
                String materialGroup = pricingItem.getAttributeValue("MATL_GRP");
                uelogger.writeLogDebug("  Material Group  :"+materialGroup);
                for (int i=0;i<prItems.length;i++){
                     String materialGroup1 = prItems[i].getAttributeValue("MATL_GRP");
                     if (materialGroup1.equalsIgnoreCase(materialGroup)){
                          subTotal3 = prItems[i].getSubtotal(PricingCustomizingConstants.ConditionSubtotal.SUBTOTAL_3).getValue();
                          subTotal3Accrual = subTotal3Accrual.add(subTotal3);
                          IPricingConditionUserExit[] conditionsForCumulation = prItems[i].getUserExitConditions();
                          for (int j = 0; j < conditionsForCumulation.length; j++) {
                               if(conditionsForCumulation[j].getConditionTypeName()==null) {
                                   continue;
                               else if ( conditionsForCumulation[j].getConditionTypeName().equalsIgnoreCase("ZCVC")){
                                    conditionValueZCVC = conditionsForCumulation[j].getConditionValue().getValue();
                                    conditionValueZCVCAccrual = conditionValueZCVCAccrual.add(conditionValueZCVC);
                BigDecimal conditionValueZPFM=PricingTransactiondataConstants.ZERO;
                conditionValueZPFM = subTotal3Accrual.subtract(conditionValueZCVCAccrual);
               BigDecimal conditionRateZPFM=PricingTransactiondataConstants.ZERO;
               conditionRateZPFM = conditionValueZPFM.multiply(new BigDecimal ("100"));
              conditionRateZPFM = conditionRateZPFM.divide(subTotal3Accrual,7,BigDecimal.ROUND_FLOOR);
             uelogger.writeLogDebug(subTotal3Accrual+"-"+conditionValueZCVCAccrual+" = "+conditionValueZPFM);
             uelogger.writeLogDebug("Condition Rate  :"+conditionRateZPFM);
           pricingCondition.setConditionRateValue(conditionRateZPFM.setScale(2,BigDecimal.ROUND_HALF_UP));
           pricingCondition.setConditionValue(conditionValueZPFM.setScale(2,BigDecimal.ROUND_HALF_UP));
              return null;
           return null;

    Hi,
    I think you should change xkwert variable instead of komv-kwert.
    Standard routines does the same.
    Aslo check in SPRO settings that routine is attached and
    getting triggered by putting break-point.
    Regards,
    Vishal

  • IPC Java routine for subtotal

    Hi All,
    I am a java developer new to SAP and IPC CRM pricing, the below subtotal routine is already implemented in ECC,we need to implement the same in CRM.
    FORM FRM_KONDI_WERT_906.
    *{   INSERT         SE1K900344                                        1
    if xkomv-kinak na 'AKLMXZ'.
        komp-ZZWI1 = xkwert.
    alternative solution if formula is used several times:
      add xkwert to komp-ZZWI1.
      endif.
    *}   INSERT
    ENDFORM.
    Please help on this.
    Regards
    Sabarinathan

    I am a java developer new to SAP and IPC CRM pricing
    Writing IPC pricing exits requires not just Java. It requires basic understanding of SD pricing and CRM / IPC pricing.
    IF
         you have
         Java knowledge AND
         SD Pricing knowledge AND
         CRM / IPC Pricing knowledge
    THEN
    DO
        IPC exit programming happily.
    ELSEIF
         you have time
         _Please_ get some basic knowledge in the above items.
    ELSE
         Engage someone who knows the stuff.
    ENDIF

  • IPC Pricing routine

    Hi all,
    I have created new pricing user routines. I am trying to create the JAVA code by myself, so can anyone helps me letting me know how the following code would be in Java?:
    Data: va_value type type komp-wavwr,
             wa-xkomv like xkomv.
             if sy-subrc = 0.
                clear wa_xkomv.
                read table xkomv into wa_xkomv with key KSCHL = 'ZPCO'
                if wa_xkomv-KBETR = 0.
                  clear wa_xkomv.
                  read table xkomv into wa_xkomv with key KSCHL = 'VPRS'.
                  wa_value= wa_xkomv-kwert.
               else.
               wa_value = wa_xkomv-kwert.
               endif.
            endif.
            xkwert= komp-kzwi3-va-va_import.
    Should I use jave methods to get that information for the tables or a connection to the database and a select?
    Thanks,

    Hi Max:
       Thanks very much for your quick response.
       Following your instrucctions, we understand that we can use getConditionTypeName()to check as follows:
       prCondition.getConditionTypeName() == "ZPCO"
       But we I'm not sure how I could check the followinf sentence: if wa_xkomv-KBETR = 0.
       Thanks in advance.
    Abel

  • CRM ISA b2b Vs ECC ISA b2b - IPC and BADI

    Experts,
    1. In CRM ISA b2b - We use CRM_COND_COM_BADI to implement the userexit logics and to populate custom attributes. What is the equivalent BADI or procedure in ERP scenario assuming I am using IPC in both the scenarios.
    2.   in CRM ISA b2b scenario, we have item and header BADI's like crm_isa_basket_head...What is thew equivalent BADI/Procedure in ERP ISA b2b scenario.
    Thanks,
    Bala

    Hello Bala,
    Regarding your first question, AFAIK, the userexit logic of pricing should be developed in IPC pricing routines and uploaded to the SAP system with appropriate userexit assignment.
    About the second question, I am not very clear on what is the requirement? Do you want to modify certain data before a document is actually created/simulated in the SAP system? In this case, there are some enhancement points in the FM SD_SALESDOCUMENT_CREATE. This is what I used to modify/add/delete some data before the basket data is simulated or created as a quotation/order in the SAP ECC system.
    Pradeep

  • ISA and IPC

    hi
      I got the assignment to display the ipc component like subtotal,fright charges  in jsp page of isa.(SAP E-Commerce
    5.0) . But I am not able to find how to do it. the arrangement of the system is as given below.
    ECC 6.0 as sap R/3 and sap b2b isa framework (SAP E-Commerce 5.0) as the front end.
    I am a java programmer so I dont have that much idea about the architecture.
    I tried to create object of type TcpDefaultDocument
    by importing the following class.
    <%@ page import
    ="com.sap.spc.remote.client.object.imp.tcp.TcpDefaultIPCDocument" %>
    and calling the following method on that object
    getSubtotal(PricingCustomizingConstants.ConditionSubtotal.SUBTOTAL_1)
    but there I am getting the problem with the constructor.
    Is IPC component  is available in ISA frame work or we have to use
    IPC seperatly in web server. what is the class we will have to import to that we can create the objects
    or we wil have to create a seperate BOM.
    Thanking in great anticipation.
    Edited by: akmishra.1 on Jun 16, 2011 6:45 PM

    Hello Bala,
    Regarding your first question, AFAIK, the userexit logic of pricing should be developed in IPC pricing routines and uploaded to the SAP system with appropriate userexit assignment.
    About the second question, I am not very clear on what is the requirement? Do you want to modify certain data before a document is actually created/simulated in the SAP system? In this case, there are some enhancement points in the FM SD_SALESDOCUMENT_CREATE. This is what I used to modify/add/delete some data before the basket data is simulated or created as a quotation/order in the SAP ECC system.
    Pradeep

  • Extension or upgrade of JavaDoc for com.sap.ipc.*

    Hi,
    I had downloaded the CRM Javadoc from sap Services Marketplace.
    Javadoc had descriptions of the packages linked to
            ---e-sevices
            ---icss
            --- And few for ISA
    Please can anyone share the javadoc extension for IPC maily pricing.
    package is com.sap.ipc.*
    Thanks
    Ekta

    Hi Ekta,
    You will find the javadoc for IPC java routines with the jar file which you need to download from CRM using transaction
    /n/SAPCND/UE_DEV.Start the doc with this url PRC_UE_CUSTOMER/api_doc/index.html.
    Hope this helps you.
    Regards,
    Arshi

  • Help needed for the JVMTI

    I am a new guy for jvmti, I am trying to use jvmti to trace the behaviour of the program. I have several questions:
    1. When I catch the step events, I can get the current location of the code, is it possible to map it into source code or byte code?
    2. If I want to be informed when the thread call sleep(), notify(), suspend(), resume(), what should I do?
    3. By the event-JVMTI_EVENT_MONITOR_CONTENDED_ENTERED, I can easily know when the threads call the primitive "entermonitor" ,however, how can I know when the thread call "exitmonitor"?
    4. I am also interested in the context switch of the threads. I can keep checking the step events to get the information. However, it is too costly. Is there any other more suitable way to do that?
    Thanks!

    Hi
    1) I don't think u can fill the data in the infocube with  out disturbing the data in the infocube , my better approach to fill the historical data for the infocube is
    i)Take the back up of the data in another infocube and run the full load.
    ii)Don't add the Enhanced fields in the infocube , just create the DS  for that enhanced with some primary field in the infocube and then create another infoprovider which has enhanced field and primary field in that infoprovider and on the multiprovider on the top of the infocube(old which has data ) and infoprovider ( which has enhanced field and primary field) and now create the creaete the report on the top of the multiprovider.
    Hope u understoodl
    3)U have to check which process type is taking long time(let say that DTP is taking long time , then u have to check whether there exists any complex routine , if yes optimize the code ) . This way u have to check for each and every process step which is taking long time.
    4) Can u explain 4th question with an example data.
    Hope u got it,
    Thanx & Regads,
    RaviChandra

  • Write Optimized DSO Duplicate records

    Hi,
    We are facing problem while doing delta to an write optimized data store object.
    It gives error "Duplicate data record detected (DS <ODS name> , data package: 000001 , data record: 294 )
    But it can not have an duplicate record since data is from DSO and
    we have also checked in PSA the particular record and there we couldn't find the duplicate record.....
    There is no much complex routine also.....
    Have any one ever faced this issue and got the solution? Please let me know if yes.
    Thanks
    VJ

    Ravi,
    We have checked that there is no duplicate records in PSA.
    Also the source ODS has two keys and target ODS is having three Keys.
    Also the records that it has mentioned are having Record mode "N" New.
    Seems to be issue with write-ptimized DSO.
    Regards
    VJ

  • ODS to CUBE loading - taking too much time

    Hi Experts,
    I am loading data from R/3(4.7) to BW (3.5).
    I am loading with option --> PSA and then Data Target (ODS ).
    I have a selection criteria in Infopackage while loading from standard Datasource to ODS.
    It takes me 20 mins to load 300K records.
    But, from ODS to Infocube ( update method: Data Target Only), it is taking 8 hours.
    The data packet size in Infopackage is 20,000 ( same for ODS and Infocube).
    I also tried changing the data packet size, tried with full load , load with initialization,..
    I tried scheduling it as a background job too.
    I do not have any selection criteria in the infopackage from ODS to Cube.
    Please let me know how can I decrease this loading time from ODS to Infocube.

    Hi,
    To improve the data load performance
    1. If they are full loads then try to see if you make them delta loads.
    2. Check if there are complex routines/transformations being performed in any layer. In that case see if you can optimize those codes with the help of an abaper.
    3. Ensure that you are following the standard procedures in the chain like deleting Indices/secondary Indices before loading etc.
    4. Check whether the system processes are free when this load is running
    5. try making the load as parallel as possible if the load is happening serially. Remove PSA if not needed.
    6. When the load is not getiing processed due to huge volume of data, or more number of records per data packet, Please try the below option.
    1) Reduce the IDOC size to 8000 and number of data packets per IDOC as 10. This can be done in info package settings.
    2) Run the load only to PSA.
    3) Once the load is succesfull , then push the data to targets.
    In this way you can overcome this issue.
    Ensure the data packet sizing and also the number range buffering, PSA Partition size, upload sequence i.e, always load master data first, perform change run and then transaction data loads.
    Check this doc on BW data load perfomance optimization
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/1955ba90-0201-0010-d3aa-8b2a4ef6bbb2
    BI Performance Tuning
    FAQ - The Future of SAP NetWeaver Business Intelligence in the Light of the NetWeaver BI&Business Objects Roadmap
    Thanks,
    JituK

  • Optimizing Performance

    I am having a problem with my program as I am not getting the
    desired frame rate due to all the code that is getting executed per
    tick. So I have some questions about director and lingo as to which
    way actually executes faster.
    1. Multiple
    ExitFrame calls vs a single
    ExitFrame call.
    I have alot of sprites in my app. Almost all of them have an
    ExitFrame handler.
    Question: is it faster to have each sprite handle it's own
    ExitFrame routine and do code specific to that sprite or is
    it faster to have one generic
    ExitFrame to loop through and execute code for each sprite?
    2. Puppeted sprites vs Non-Puppeted sprites.
    I have a alot of sprites in my program. To make life ALOT
    easier, I simply allocated a good chunk of sprite channels to sole
    use of "dynamically created sprites". My program can have hunders
    of puppeted sprites from any given moment to the next.
    Question: Does director progress faster or slower depending
    on if a sprite is puppeted or not? Or is there any difference at
    all?
    3. Checking to see if a variable is set before setting it.
    I have only recently come into the Director/Lingo world of
    programming. I am originally a VB programmer for almost a decade.
    In visual basic, I have noticed that the code executes faster if
    you don't do unneeded variable assignments by checking to see if it
    was already set.
    Example: In visual basic, let's say you have an array of 1000
    elements, some elements are already set, some are not.
    for i = 1 to 1000
    var(i) = i
    next
    The above code executes fast, but if you are doing that very
    very often, it can be a bottle neck.
    the below code, while doing the exact same thing, actually is
    faster.
    for i = 1 to 1000
    if var(i) <> i then var(i) = i
    next
    In VB, it's faster to do a check of a variable than it is to
    do the assignment when it's not needed. Now granted, this is a poor
    example, usually I am dealing with much more complex routines, but
    the basic principle of what I am trying to get across is the same.
    Question: in Director/lingo, would it speed up the execution
    of code to do a variable check before the assignment, or is the
    very act of adding the check going to slow the down the execution?
    Anyone have any ideas about these? Or anyone have any other
    tips about stupid little things to speed up execution of
    code?

    >
    1. Multiple
    ExitFrame calls vs a single
    ExitFrame
    > call.
    You should consider dropping the exitframe approach, in favor
    of an oop
    model.
    OOP is not faster, as a dual core processor is not faster
    than a single core
    one running at double the speed. In fact, the second should
    be faster, since
    there is no synchronization penalty. However, it is much
    smoother. Same with
    oop, you have a penalty, since you are using more objects,
    but the objects
    can be smart enough to adjust the number of instructions they
    execute as
    required.
    If you e.g. have objects whose coordinates can be calculated
    and stored
    inside the object, you don't have to update the stage each
    time an object
    moves. You can do that once, for all objects in set
    intervals. Long as the
    interval is large enough to handle all intermediate
    processing and
    updatestage cost, you'll have a very smooth movie.
    >
    2. Puppeted sprites vs Non-Puppeted sprites.
    Puppeting does not affect performance -or at least it
    shouldn't. The number
    of sprites, and number of behaviors attached to each sprite
    does. However,
    even when there is a very large number of sprites active, the
    procedure
    should be a joke for any modern cpu. What does cost, is
    redrawing the
    sprites. So, if it's image sprites we are talking about, you
    should perhaps
    consider a single bitmap member you should use as a buffer,
    and imaging
    lingo for drawing each frame. The mouse click events can be
    evaluated by
    keeping a list of virtual sprite positions. Even if not
    familiar with the
    above, the time you'll invest in learning what is required,
    will be rewarded
    with a significant -up to times x- performance increase.
    >
    3. Checking to see if a variable is set before setting it.
    You can create a simple lingo benchmarking script to get your
    answers. As a
    general principle, the less commands the faster. Though not
    really into VB
    (I find c++ and lingo to be a killer combination), I can
    assume why this is
    happening: when setting a variable, vb is executing some code
    to evaluate
    what the value was, and what -if anything- has to be
    released. Though
    nowhere documented, it seems that several years ago, someone
    in the director
    dev team was smart enough to take this matter into account
    when creating the
    object that is known as a lingo variable (64bit internally,
    btw). So,
    director doesn't suffer slow variable release - releasing
    what shouldn't be
    released that is.
    > Anyone have any ideas about these? Or anyone have any
    other tips about
    > stupid
    > little things to speed up execution of code?
    You know, a few years ago, lingo performance/speeding up
    director was a
    regular discussion issue in this list. This is not the case
    anymore. And
    though I can guess a couple reasons why, I found none to be
    qualified as an
    explanation.. Not in my book at least. Case you have any more
    questions, I'd
    be happy to answer. Building a site with director performance
    hints /
    optimizing lingo code is high in my to do list.
    "DaveGallant" <[email protected]> wrote in
    message
    news:[email protected]...
    >I am having a problem with my program as I am not getting
    the desired frame
    > rate due to all the code that is getting executed per
    tick. So I have some
    > questions about director and lingo as to which way
    actually executes
    > faster.
    >
    >
    1. Multiple
    ExitFrame calls vs a single
    ExitFrame
    > call.
    >
    > I have alot of sprites in my app. Almost all of them
    have an
    >
    ExitFrame
    > handler.
    > Question: is it faster to have each sprite handle it's
    own
    >
    ExitFrame
    > routine and do code specific to that sprite or is it
    faster to have one
    > generic
    >
    ExitFrame to loop through and execute code for each sprite?
    >
    >
    2. Puppeted sprites vs Non-Puppeted sprites.
    >
    > I have a alot of sprites in my program. To make life
    ALOT easier, I simply
    > allocated a good chunk of sprite channels to sole use of
    "dynamically
    > created
    > sprites". My program can have hunders of puppeted
    sprites from any given
    > moment
    > to the next.
    > Question: Does director progress faster or slower
    depending on if a sprite
    > is
    > puppeted or not? Or is there any difference at all?
    >
    >
    3. Checking to see if a variable is set before setting it.
    >
    > I have only recently come into the Director/Lingo world
    of programming. I
    > am
    > originally a VB programmer for almost a decade. In
    visual basic, I have
    > noticed
    > that the code executes faster if you don't do unneeded
    variable
    > assignments by
    > checking to see if it was already set.
    >
    > Example: In visual basic, let's say you have an array of
    1000 elements,
    > some
    > elements are already set, some are not.
    >
    > for i = 1 to 1000
    > var(i) = i
    > next
    >
    > The above code executes fast, but if you are doing that
    very very often,
    > it
    > can be a bottle neck.
    > the below code, while doing the exact same thing,
    actually is faster.
    >
    > for i = 1 to 1000
    > if var(i) <> i then var(i) = i
    > next
    >
    > In VB, it's faster to do a check of a variable than it
    is to do the
    > assignment
    > when it's not needed. Now granted, this is a poor
    example, usually I am
    > dealing
    > with much more complex routines, but the basic principle
    of what I am
    > trying to
    > get across is the same.
    >
    > Question: in Director/lingo, would it speed up the
    execution of code to do
    > a
    > variable check before the assignment, or is the very act
    of adding the
    > check
    > going to slow the down the execution?
    >
    >
    >
    > Anyone have any ideas about these? Or anyone have any
    other tips about
    > stupid
    > little things to speed up execution of code?
    >

  • Need user-exit/BADI for my requirement in transaction CRMD_ORDER...

    Hello Experts,
    I was just given a development task under CRM module. The transaction that I would enhance
    would be CRMD_ORDER. What I need to do is that I need to check the customer class
    in table CRMM_BUT_FRG0041-classific if it falls under 09. If true, then search for the
    condition exclusion from the table PRCC_EXCL_PROC for a given combination and by checking the
    fields KAUGR1 and KUAGR2. If found, then bypass this exclusion for customer class 09 so that it will
    be given a trade discount and bypass the pricing procedure.
    Hope you can help me guys as I am fairly new to CRM module. Thank you and take care!

    Hi,
    You will have to put the required Logic there and test.
    But what I feel is you need to use IPC Pricing routines, which are assigned in the Pricing Procedure. They are java routines.
    According to my understanding, you will have to first check the customer class from table CRMM_BUT_FRG0041. If it is 09 than u read the condition exclusion groups, the condition type assigned and bypass it.
    Wish it helps.
    Regards,
    Shalini Chauhan

  • Achieving Clean-Looking (non-pixelated) Graphics in iMovie

    Here's my situation... Please help if you can!
    I made a short movie to be played as the "auto-play" movie in my iDVD project. This movie is about a minute long, and includes several titles, as well as one logo. Because of the limited titling options in iMovie, I created my titles/logo in Illustrator, imported them into Photoshop, and saved them as high-res jpgs. I then imported the jpgs into iMovie to be used as clips.
    Here's the problem: Everything I try seems to result in jagged graphics in iMovie -- especially, and importantly, my logo. I have tried copying different sizes of the vector art in Illustrator before "placing" in Photoshop. I have tried saving the jpg files in different resolutions from Photoshop. When I look at the resulting jpgs in Photoshop or Preview, etc., they all look clean and "high-res." Why then, don't they look good in iMovie, and what can I do?
    Here's what I've also tried: I have saved the vector art as a .swf file from Illustrator. I can open it in Flash or Flash Viewer and it looks great. Since iMovie doesn't allow .swf files, I think I need a way to export the .swf as a Quicktime movie. Since I don't have QT Pro, I'm sorta stuck. I'm willing to pay for it, but I'm nervous that it won't work well, since I tried using the Quicktime export feature of the trial version of MediaEdit Pro, and it didn't look good.
    Does anyone have any thoughts on 1) how to best achieve clean graphics in iMovie, 2) if my theoretical QT Pro solution would produce a good (great?) result, and 3) if there are any other options besides the complex routine I described above?
    Many thanks in advance for your help...
    -Jason

    If you pressed the Create iDVD Project button in the iDVD tab of iMovie, the jaggies may have been added by iMovie when it rendered the images. There's info about that bug and workarounds here:
    http://discussions.apple.com/thread.jspa?threadID=194962&tstart=0
    Karl

  • Still not understanding Swing Double buffering

    I'm writing a custom JComponent like
    class Custom extends JComponent {
    protected void paintComponent(Graphics g) {
           //slow complex routine
    }As the display does not often change I thought I could improve performance with my own off-screen rendering
    class Custom extends JComponent {
    private Image screenImage= null;
    private void doOffscreen() {
                BufferedImage backimage = defaultgc.createCompatibleImage(getSize().width, getSize().height);
                final Graphics2D g2 = backimage.createGraphics();
                 slow complex routine
                screenimage = backimage;
    protected void paintComponent(Graphics g) {
           super.paintComponent(g);
           if (screenimage != null) {
                g.drawImage(screenimage, 0, 0, null);
    }What does adding
    class Custom extends JComponent {
           public Custom() {
                setDoubleBuffering(true);
    }get me ? Or can I use the SWING double buffer to render to ?
    I'm guessing what it will do is render my screen image into yet another image and then switch this in.
    I feel I'm missing something :(

    I've run your code and it seems to work well,
    however it is in constant update mode where as my application usually only changes as a part of user interactionActually, that doesn't matter, since when you want the screen to update, you just call "repaint()" from any place that has visibility in your application. The real wonderful thing about offscreen rendering is: that when you have to have an update done, it paints immediately is a very optimized code--a one line paint/paintComponent routine, since the image is pre-rendered, no waiting.
    The offscreen rendering approach lends very well to animation loops, adhoc graphic updates, and pretty much any other animation schemes I've been able to come up with.
    There is really only one concern that I have in offscreen renderings: it is possible that you would be able to catch the offscreen image being rendered so only a partial image would be present on the screen. I cannot make it do this so I can notice it happen in any animation loop or continuous update scenario that I've been able to test.
    I can force it to happen noticeably in code if I purposefully artificially extend the animation times far beyond what they may normally take and unreasonably make multiple tick cycles to the animation and update delays. This is like running a film in ultra slow motion--frame by frame, but under normal conditions (full speed animations), I cannot force any noticeable flaw in the output of an offscreen rendering scheme.
    I've pumped that program that I posted up to 10,000 objects and it still ran--no flicker what so ever, but yes, it was a little jerky since I'm doing 1600x1200 and 10,000 images on a 2.4 GHz AMD under Solaris x64, but at the 1,000 object mark as posted, it works fine.

  • Data load Tuning

    Hello All,
    What are the Data Load Tuning ways from R/3 to BW we can possibly do, please help.
    Thanks,
    Suman

    Hi,
    To improve the data load performance
    1. If they are full loads then try to see if you make them delta loads.
    2. Check if there are complex routines/transformations being performed in any layer. In that case see if you can optimize those codes with the help of an abaper.
    3. Ensure that you are following the standard procedures in the chain like deleting Indices/secondary Indices before loading etc.
    For eg
    1) Create Index
    2) Delete Index
    3) Aggregate Creation on Info Cube
    4) Compressing Info Cube data
    5) Rollup Data to Aggregates
    6) Partitioning infoCube
    7) Load Master data before loading Transactional Data
    8) Adjusting Datapackage size
    https://forums.sdn.sap.com/click.jspa?searchID=10049032&messageID=4373697
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3a699d90-0201-0010-bc99-d5c0e3a2c87b
    4. Check whether the system processes are free when this load is running
    5. Try making the load as parallel as possible if the load is happening serially. Remove PSA if not needed.
    6. Goto manage ODS -> activate -> activate in parallel -> increase the number of processes from there.for direct access try TCode RSODSO_SETTINGS
    7. Remove Bex Reporting check box in ODS if not required.
    8. When the load is not getiing processed due to huge volume of data, or more number of records per data packet, Please try the below option.
    1) Reduce the IDOC size to 8000 and number of data packets per IDOC as 10. This can be done in info package settings.
    2) Run the load only to PSA.
    3) Once the load is succesfull , then push the data to targets.
    In this way you can overcome this issue.
    Ensure the data packet sizing and also the number range buffering, PSA Partition size, upload sequence i.e, always load master data first, perform change run and then transaction data loads.
    Use InfoPackages with disjoint selection criteria to parallelize the data export.
    Complex database selections can be split to several less complex requests.
    Number Range Buffering Performance  
    /thread/754694
    Check this oss note : 130253.Review the oss note 857998 and 130253. The first note tells you how to find the dimensions and infoobjects that needs number range buffering.
    Check this doc on BW data load perfomance optimization
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/1955ba90-0201-0010-d3aa-8b2a4ef6bbb2
    BI Performance Tuning
    Business Intelligence Journal Improving Query Performance in Data Warehouses
    http://www.tdwi.org/Publications/BIJournal/display.aspx?ID=7891
    Achieving BI Query Performance Building Business Intelligence
    http://www.dmreview.com/issues/20051001/1038109-1.html
    SAP Business Intelligence Accelerator : A High - Performance Analytic Engine for SAP Ne tWeaver Business Intelligence
    http://www.sap.com/platform/netweaver/pdf/BWP_AR_IDC_BI_Accelerator.pdf
    BI Performance Audit
    http://www.xtivia.com/downloads/Xtivia_BIT_Performance%20Audit.pdf
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10564d5c-cf00-2a10-7b87-c94e38267742
    https://websmp206.sap-ag.de/~form/sapnet?_SHORTKEY=01100035870000689436&
    Thanks,
    JituK

Maybe you are looking for