Which method of MD_CHANGE_MRP_DATA to use?

Dear all,
We have an enhancement require to touch on this BADI, and I am confused base on our following business requirement, which of the right method to modify:
Requirement:
1 - QUOTATION: We would like to exclude Sales Quotation from MRP. A quotation is an offer to the customer and we cannot be sure that it ends up being converted into an actual sales order. It is therefore very critical that our production excludes these as demand.
2 - PR: We would like to exclude the Purchasing Requisition from MRP. If we have a requisition on the local sales company plant then it is important that the distribution center do not purchase based on this on but doesnu2019t react before the requisition is converted into a stock transfer order in the sales company.
These are the following methods (out of 26) which depict very similar to my requirement, and am wondering if which one of them is correct to use:
A - CHANGE_MDPSX_VBBE or CHANGE_MDPSX_VBBS to exclude the quotation base on our requirement for quotation stated above? the different is that one is total sale requrement while another is individual requirement? which is one is correct to use for this enhancement?
B - CHANGE_MDPSX_EBAN or CHANGE_MDPSX_MDBS or CONSIDER_THIRDPARTY to exclude the PR base on our requirement for PR stated above?
Thanks.

Tuffy,
With respect to the sales quotation, this type of business requirement is normally addressed in SD; you can easily configure a quotation doc such that it does not pass requirements to MRP.
Assuming order type QT and Item category AGN or AGNN (VOV4), standard allowable Schedule line categories are typically  BN or BP.(VOV5).  BN is not relevant for either ATP nor MRP (OVZ8). You can remove BP from the quotation item categories in VOV5, at which time your QT order would always invoke BN, and never be relevant for MRP. Alternatively, you could make BP not relevant for MRP in OVZ8.  The choice would depend upon other configurations and your other business requirements..
I would think you would want to use standard functionality in lieu of an enhancement.  Speak to your local SD expert before embarking upon BADI programming.
Best Regards,
DB49

Similar Messages

  • Which method of BDC is used in which condition and Why?

    Hi,
    I want to know In which conditions(or in which type of data) Call Transaction or Batch Input Session is used for Data Migration and why?
    Please help me out.
    Thanks and Regards,
    Gagan Mittal

    In both, you will be doing the same screen scraping. But the main difference is while Batch Input method keeps your sessions persistantly if an error occurs, whereas CALL TRANSACTION does not provide that mechanism automatically, you will have to code for it. In call transaction you calling a transaction in a loop depending on your input. But in a batch input session, you will combine your transactions into batches that can be processed at a later time or immediately. This way, when you are doing large volume loads, and you don't want to burden your system with all the transactions running, you can create batches that you can process later when the system is not over-burdened.
    But the advantage with CALL TRANSACTION is that you will know the success or failure and the reason for failure in your program itself and you can take a subsequent action based on that result. Since your Batch Input Session is creating a new task, there is no immediate feedback that you can use.
    Even with a call transaction, it is advisable to keep the BDC data in a session, if the CALL fails. That way you can revisit the transaction and make corrections.
    Srinivas

  • Help Determining Which Methods/Classes Are Being Used

    Hello,
    I'm having issues with my company's Java application and because I've luckily narrowed the classes down to a meager 30+ I need some help pinpointing my problem.
    I realize there are a lot of Java monitoring applets/applications and some are deployment-specific but I need something very detailed-- I haven't found the features I need.
    Specs:
    Jrun4, Java 1.4, Windows Server 2003
    I would like to have a monitor that tells me exactly (real-time) what classes, methods, variables, etc. are being called in real-time. Looking at the JRun launcher console for one process gives me this:
    Generating report:quadbase.reportdesigner.ReportAPI.QbReport with export type:PDF
    01/16 14:05:33 error Software caused connection abort: socket write error
    java.net.SocketException: Software caused connection abort: socket write error
            at java.net.SocketOutputStream.socketWrite0(Native Method)
            at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
            at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
            at jrun.servlet.io.MetricsOutputStream.write(MetricsOutputStream.java:75)
            at java.io.BufferedOutputStream.write(BufferedOutputStream.java:106)
            at jrun.servlet.http.WebOutputStream.write(WebOutputStream.java:64)
            at jrun.servlet.file.FileServlet.pipeData(FileServlet.java:419)
            at jrun.servlet.file.FileServlet.service(FileServlet.java:254)
            at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
            at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)This is cute, but not really helpful. I would like to determine what was passed to the process, from where and what went wrong.
    For example,
    Instead of this:
    Generating report:quadbase.reportdesigner.ReportAPI.QbReport with export type:PDF
    01/16 14:05:33 error Software caused connection abort: socket write errorI would get something like this:
    Generating report:quadbase.reportdesigner.ReportAPI.QbReport with export type:PDF
            Page variables: test.jsp ($var1= "I'm"; $var2= "Going"; $var3="To"; $var4="Break"; $var5 = null)
            Calling: test2.jsp
            With: jrun.bin.db.foo.Bar();
    01/16 14:05:33 error Software caused connection abort: socket write error
            Problem: $var5 = null;Sorry if I'm rambling, I just want to know what is where and who it's calling when it breaks. Then I could deduce which class, what variable, what page, etc. My application is very complicated and seemingly mundane changes can throw it all off.
    Any ideas?

    We'll look into usage tracking. We're on the standard edition, so I'm not sure if it's available. Also, some of these reports may be quarterly -- so there may be a long wait to see if the view is used and I need to know fairly soon. (If it's not used, it saves us some work in a project transition going on.)
    I certainly don't understand the underlying structure of the product, but it seems like there should be some way to determine if a view is used by a report. I apologize if I'm not using the correct terminology. Thanks for your help -- we'll keep looking into it.

  • Which method should use? Call Transaction or Session Method?

    I need to upload 1,00,000 records then which method i need to use? Either session or call transaction?

    Hi.....
    A (asynchronous updating) The called transaction does not wait until the database has been
    updated, it simply forward the updates to the SAP update service. This usually speeds up the CT
    program. This processing mode is NOT recommended for large data sets as the called transaction
    does not receive a completion message from the update module.
    The calling CT program therefore cannot tell if the transaction has been successfully completed. You
    should use the updating administration function (transaction SM13) to determine whether updating
    was terminated early. The error analysis /correction functions for are less helpful than with
    synchronous updating.
    S (synchronous updating) With synchronous updating the called transaction waits until all the
    updates have been completed. So processing is slower than with synchronous updating. The called
    transaction can however report any updating errors to the program, which makes error
    analysis/correction easier.
    And
    Unlike the classical batch input processing with sessions CALL TRANSACTION does not offer any
    special processing procedures for transactions containing errors. There are no restart functions for
    transactions that contain errors or that cause updating terminations.
    Now you decide which one is best...
    For large amount of data Sessions method is the better.
    Thanks,
    Naveen.I

  • Which method is better

    hi,
    when uploading data into sap,which method is to be used,either session method r call transaction method? how i can analyse which method is useful? explain briefly abt analying data?

    Hi,
    Better to use session method than other methods

  • Which method is used for event creation

    Dear All,
    My client has more then one Purchase Organization. Workflow for Purchase order release very from pur org to pur org. For example - workflow WS92000030 is trigger when PO is created for India pur org where as workflow WS92000021 is trigger when PO is created for US pur org.  
    I checked and found that same Object Type - BUS2012 & event - RELEASESTEPCREATED is used in all Pur. Org PO release workflow. Also I found in Transaction code - SWETYP that Type linkage activate for  BUS2012, RELEASESTEPCREATED in all the PO workflow - WS92000030 & WS92000021.
    As per my knowledge, event can be created in various way such as Function module, Change document, General status management, Business Transaction Events etc.
    Can some one guide me, how can I found that which method is used for event creation in different pur org?
    How can I fould what is the fuctional module used for event creation if Fuctional module used for event creation. 
    For your information, I can see in T. Code - SWUO that 'Result dependent on a check function module'  for all the workflow - WS92000030, WS92000021 etc.
    Thanks in

    Hi Sahu,
    I dont think they have used the Function module or change document or any other kind of methods to trigger the workflow. This is because RELEASESTEPCREATED method is a standard method and it will be triggered by standard SAP. They can not make changes in standard sap saying RELEASESTEPCREATED should be triggered for this Purchase Org .
    Istead what i think is, they might have given the Event Condition for each workflow.
    In SWDD>> basic settings>> Start Events, we can give condition on triggering the workflow.
    Please check this.
    Regards,
    Gautham

  • Which java keyword cannot be used inside the body of a static method?

    Which java keyword cannot be used inside the body of a static method, but may be used without problems in a non-static method?

    But javac doesn't complain. So I was not partially wrong -- I was completely wrong.It's still better not to use the "this", though. When you explictly reference a static member via an instance reference (theFoo.bar or this.bar, as opposed to Foo.bar) the JLS requires a check that the reference is non-null. Clearly "this" is always non-null, but javac still puts in half of the check. Take the simple class public class Test {
        static int field;
        public void setField(int i) {this.field=i;}
        public void staticSetField(int i) {field=i;}
    } and observe the bytecodes produced: $ javap -c Test
    Compiled from "Test.java"
    public class Test extends java.lang.Object{
    static int field;
    public Test();
      Code:
       0:   aload_0
       1:   invokespecial   #1; //Method java/lang/Object."<init>":()V
       4:   return
    public void setField(int);
      Code:
       0:   aload_0
       1:   pop
       2:   iload_1
       3:   putstatic       #2; //Field field:I
       6:   return
    public void staticSetField(int);
      Code:
       0:   iload_1
       1:   putstatic       #2; //Field field:I
       4:   return
    }The JIT will get rid of it, but you may as well avoid the waste in the first place. (And if you really do want to check that the reference is non-null, do the check explicitly so that maintainers know it's intentional).

  • Which method is easiest for uploading data using LSMW?

    which method is easiest for uploading data using LSMW (Direct method or batch input method) bcs I am facing lot of problem using batch input method while recording.Even  I cannot use direct method using standard program.can anyone tell me some other easiest way for uploading MM01.?

    I personally used the direct input way 6 years ago and it was a little bit of a struggle cause I was very new to SAP at the time.  But it worked out to be ok in the end.  You just have to keep messing with it till the errors are clear and then you can upload for real.  The test mode is a nice touch, you can get rid of all of the errors before actually uploading the data.
    Regards,
    Rich Heilman

  • To get the list of queries in which a particular variable is used - urgent

    Hi Friends,
    I have a list of variables which were used in some queries, now I need to know list of queries in which the given variable is used.
    for example: There is a variable called ZVBASMNT and used in some queries, I want to get the names of the queries in which it was used.
    please give some short method for this, if there is any table or Tcode for this please provide, its bit urgent.
    Thanks & points will be given for the helpful answer
    Regards...
    Ganesh

    Dear Ganesh,
    Yes, You can find.
    Goto Metadata Repository in RSA1.
    Click on Query
    Selct / Click on a Query which uses your variable ZVACITY
    Click on your variable
    Just observe the USED BY list.
    Regards,
    Ram.

  • By which method,i can get  the no of rows in the record set?

    Does anyone help me that by which method,i can get the no of rows in the record set?
    now i use next() to check whether the next record is available or not?

    shashi_rajak wrote:
    under Practice Exercise #1 heading :
    there is a statement.
    "Now, the COUNT function does not need to retrieve all of the fields from the table (ie: employee_number, employee_name, and salary), but rather whenever the condition is met, it will retrieve the numeric value of 1. Thus, increasing the performance of the SQL statement."And have you ever tried it? Or do you simply blindly believe everything you read? And what sort of "authority" is "tech on the net"?
    P.S. A quick test on Oracle (and you must do each query at least twice throwing away the first result, as Oracle always caches things which will have an effect, and averaging the remaining attempts).
    count(*) -- 1 min 17 secs for 35,311,978 rows
    count(1) -- 1 min 19 secs for 35,311,978 rows
    Edit: And the table has 46 columns.

  • Which method to transfer HD cassette to fcp7

    Which method is best for transferring HD cassette? I transfer straight to FCP but someone said it's better to transfer to a special hard drive?

    It is always best practice to use an separate drive to store your media.
    From the FCP manual:
    Your computer system disk is already busy doing two things - running the operating system and running Final Cut. When you task it with also serving video and audio, you are adding a large burden.
    MtD

  • Determining which method to call from an array of Objects

    Hi All,
    Lets suppose I have an interface, a string method name, and an array of Objects indicating the parameters which should be passed to the method.
    What Im trying to work out is a way to quickly determine which method should be invoked.
    I can see that Class has getDeclaredMethod(String, Class[]), but that wont help me as I dont know the formal class types (the method may take X, but I might get passed Y which extends X in the array of objects).
    Does anyone know of a quick way I can determine this?
    All I can think of at the moment is going thru each method of the class one by one, and seeing if the arg is assignable, then, after getting all my matched methods, determining if there are any more 'specific' matches.
    Any ideas?
    Much appreciated,
    Dave

    you might want to take a look at the dynamic proxy apiCheers for the suggestion, but Im actually already using the dynamic proxy API.
    What I have is a MockObjectValidator which allows mock objects to be configuered with expected calls, exceptions to throw etc etc.
    I thought developers on my project would get tired using an interface like this:
    myValidator.setExpectedCall("someMethod", new Class[] { typeA, typeB }, new Object[] { valueA, valueB} );
    I.e, I wanted to cut out having to pass the class array, so they could just use:
    myValidator.setExpectedCall("someMethod", new Object[] { valueA, valueB} );
    The problem there is that I then need to pick the best Method from the class given the object arguments.
    When the mock object is in use, its no problem as the InvocationHandler interface provides the Method. The problem I have is selecting what method a user is talking about from an array of Objects.
    Ive written a simple one now, it just does primitive type class -> wrapper substitution, and then finds ** A ** match. If there is more than one match (ie, all params are assignable to a class' method params), I dont let that method be used.
    Shortly I'll update it to actually make the correct selection in those cases.
    cheers
    Dave

  • , c:redirect OR RequestDispatcher -which one is better to use

    WHENVER WE WANT TO ACCESS FILES FROM OHTER APPLICATIONS,WHICH ONE IS BETTER TO USE,<c:redirect> OR
    RequestDispatcher

    <c:redirect> is the JSTL equivalent of the sendRedirect() method of javax.servlet.http.HttpServletResponse.
    Please see here:
    http://forum.java.sun.com/thread.jspa?forumID=45&threadID=405398 or search the forums for "RequestDispatcher redirect"

  • Which Method Should be overriden to update a column in master?

    Hi,
    I have a Master/Detail relationship with the requirement to update master depending on some column in detail. This update of master can raise an exception and it should be done at post time. The way to update master changes depending on the DML action. If an exception is raised I want to rollback the changes made to master.
    I tried prepareForDML, postChanges methods. In both cases the exception is ignored and the transaction is not commited and does not display any message visible. But the exception can be catched and visible on console.
    I tried creating a validation method on detail entity. In the validation method I update master and call master.validate. This seems to work but the validation method can be called more than once and thus can update master more than once which is invalid.
    So which method should I use to post changes of the master?
    I present detail data as a ADF-Table. I want to display the exception as attached to a row in ADF-Table, just below the row in the table. Is it possible?
    Regards,
    Salim

    Jan,
    I have OrderItems and deliveryItems entities with 1..* relationship. I want to update OrderItems.deliveredQuantity and OrderItems.returnedQuantity fields based on delivery Type (i.e return, accept). OrderItems entity has an entity-level validation rule as quantity >= deliveredQuantity - returnedQuantity. So it might throw exceptions on Validate.
    I decided to implement this functionality in deliveryItemsImpl.postChanges, deliveryItemsImpl.prepareForDML and finally in an entity level validation rule (method) in deliveryItemsImpl. In postChanges and PrepareForDML it just ignores the exception, does not commit, does not give any error messages. In the last case it retries to validate the entity continously and cannot validate. To my opinion it should stop saying this entity is invalid. Isn't?
    Jdev 10.1.3.3
    ADF-Faces, ADFBC
    Regards,
    Salim

  • Which XSLT Processor does CF8 use?

    I'm writing some XSLTs and would like to use the fn:base-uri() that is accessible in Saxon-SA 9.1.0.7 or later editions.  I cannot find any documentation on which XSLT processor(s) CF8 uses.  Nor can I find anything on possibly upgrading it or using CF to access an external processor.  Can anyone point me in the right direction on how to do upgrade CF8's XSLT processor, use another one via CF or even another function that the fn:base-uri() can do.
    What I'm trying to do with the function is to get the XML's file name so that I can parse it out and insert it into the transformed XML.
    EXAMPLE XSLT:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="2.0">
        <xsl:output method="xml"/>
        <xsl:variable name="filepath">
            <xsl:value-of select="base-uri()"/>
        </xsl:variable>
         <xsl:template match="/">
              <xsl:value-of select="$filepath"/>
         </xsl:template>
    </xsl:stylesheet>

    Probably most of the heavy consumption is PGA related.
    http://docs.oracle.com/cd/B28359_01/server.111/b28274/memory.htm#i49320
    Have a look at the AWR history views concerning memory consumption. ADDM, ASH, AWR etc should give you more insight. See also the awr/addm/ash/-rpt.sql scripts in $ORACLE_HOME/rdbms/admin on the database server. You (officially) would need Diagnostic en Tuning pack licenses though, so be warned (even for "touching" those views). Probably the heavy consumption of memory is or (wrong) storage related or inefficient code...

Maybe you are looking for

  • How to add a button to an existing frame?

    Hey everyone , this is a GUI question for a project I am doing in school. Basically, I have created a frame that has 3 JPanes, top, center and bottom. Here are the declarations: this.add(northPanel,    BorderLayout.NORTH);           this.add(SYBoard,

  • VGA Monitor Issue

    has anyone had a problem with VGA monitor with late 2011 MacBook Pro running Lion?

  • Need to pull INITIAL(vbap)net price of  Sales Order, after changing viaVA02

    Hi Experts, Mine is differetnt requirement.......... I created a my_Sales_order_12345678 with 2 items, as follows,(all following values/entries r for my_Sales_order_12345678) line item_10---->net_value_netpr = $100 line item_20---->net_value_netpr =

  • Help in getting current expanded node in Tree UI

    HI, I have a requirement to build a tree dynamically. On expanding each node I need to create sub nodes inside that. But it is always creating inside the node where the lead selection is and not inside the current expanded node. Even though I have us

  • API Relationships

    I have a Parent/Child relationship. Using the API, If I call GetRelationshipMembership() and then iterate thru the RelationShipMembership collection, how do I know what Name to give the relationship? Is it Name or Name2?