Message when sales price is less than cost price

Hai Guys,
Is there any standard configuration in SAP which makes the system give a warning when the Sales price is less than the cost. I have seen this feature in some IDES systems, but I am unable to get that feature in my current project. Can somebody help me in thsi regard?
Regards,
Maheshwaran. I

Hi,
Yes you can also achieve this by doing just some modifications in your pricing procedure :
Please maintain these settings in VPRS :
subtotal as B
requirement 4
and alternate calculation type as 5
Then whenever VPRS will be greater than Nett value, system will throw warning message. Please try and revert with feedback.
Thanks,
Raja

Similar Messages

  • Messege states "selling price is less than cost price"

    Hello,
    Please assist how do we configure for the messege "_selling price is less than cost price_" as warning, information or error in Standard SAP.

    Dear Adarsh,
    We did same in my client, we have done incompletion log(customized) when price is less than cost/intercompany price,
    we have done in user exit save document, check the price and cost and puts incompletion log, ad give new t.code to release or remove incompletion log.if you want error message can also do, check with abaper to work out on konp/konv and userexit on prepare pricing.
    let me know if any questions.

  • Warning Message  in Sales Order when Sales price  less than Cost Price

    HI
    Generally when we raise a sales order if Sales price is less than that of Cost price , System will provide us a warning message inside the sales order screen.  Now , this is not coming.  Is there any settings in the configuration to get this warnin message. Please help us on the above
    Regards
    Anis

    There is no configuration is available for this from functional side.
    Try with User Exit MV45AFZZ , for this Co ordinate with your ABAPer.
    Regards,
    Ramesh

  • SALE ORDER QUANTITY LESS THAN DELIVERY QUANTITY ? NO CECK IN SAP ??

    Hello friends,
            I created a sales order of quantity  10 , having two material codes each having quantity 4 and 6 . i created delivery for the one by putting delivered quantity 4 and save , then i created delivery for second and put delivered quantity 8 which was greater than the sale order quantity left ,system saved the delivery and didn't popped any error message.  
                                     Does SAP have options to over come this mistake by end users.
    regards

    Dear Joshi,
                      Please get in touch with your abap er as there user exits which can be written to avoid this situation.
                      Let me explain you further one more situation.
    First one, Your query is if for  item A ord qty is 6 the system saved the delivery with 8 qty which is greater than ordered quantity.  I know the gives a warning doing this.
    Second Situation :
    Say item A ordered qty is 5, and i made a delivery for 3 and saved it. Now the open quantity on the order is only 2. (5 -3 =2).  But one of our users reduced the ordered quantity to 2 despite saving a delivery with quantity 3.
    so the situation is ord qty is 2 and delivered is 3 qty. which is again wrong. But while reducing the ordered quantity less than the delivered quantity the system gives a warning message telling "  ORDERED QUANTITY IS LESS THAN DELIVERED QUANTITY ".
    Also just imagine we made delivery for qty 5 and invoiced it.After which you reduced the delivered quantity to say 3. So delivered is 3 but invoiced is 5.
    Hence for these kinds of practical problems we have addressed them through user exits with the help of our ABAP'ers by turning those warning messages into error messages by selecting the suitable message class.
    Hope the explanation helps you. And thanks for all your patient reading.
    Reward points if useful.
    Thanks & Regards
    Sadhu Kishore

  • Spark list horizontal scroller doesn't actualize when rows is set lesser than list container

    Hello,
    The size of the Image control is set larger than that of its parent Group  container. By default, the child extends past the boundaries of the parent  container. Rather than allow the child to extend past the boundaries of the  parent container, the Scroller specifies to clip the child to the boundaries and  display scroll bars.
    In the spark list, when I change the list dataProvider and the size of the Image control is set lesser than that of its parent Group  container, the horizontal scroller doesn't actualize.
    thanks.

    <!-- Simple example to demonstrate the Spark List component -->
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" applicationComplete="comp()" width="260" height="400">
        <fx:Script>
            <![CDATA[
        import mx.collections.*;
        public var dpArray:Array;
        [Bindable]
        public var dpCol:ArrayCollection;
        public function handleClick():void {
            dpCol.removeAll();
            dpCol.addItem({ label:"spark test" });
            dpCol.addItem({ label:"spark text" });
        public function comp():void {
            dpCol = new ArrayCollection(dpArray);
            dpCol.addItem({ label:"spark list horizontal scroller doesn't actualize when rows is set lesser than list container" });
            dpCol.addItem({ label:"spark test" });
            dpCol.addItem({ label:"spark text" });
             ]]>
        </fx:Script>
        <s:Panel title="List">
            <s:VGroup left="20" right="20" top="20" bottom="20">
                <s:List width="200" id="lis" dataProvider="{dpCol}" height="120"/>
                <s:Button id="button1" label="Click here!" width="100" fontSize="12" click="handleClick();"/>
            </s:VGroup>
        </s:Panel>
    </s:Application>

  • Why did I receive an e-mail saying I have exceeded my storage when I am using less than 1 GB

    why did I receive an e-mail saying I have exceeded my storage when I am using less than 1 GB?

    Thanks: our creatives said they would research "with Apple" and let us know next week when we are there for training, so you are correct we probally don't need the Genius Bar, but since we're at the Apple store for training it's good to keep in touch with them as they always have some good tips or advice.
    Plus if they get to know you you seem to get better service

  • Is it bad to charge iPod everyday when it gets to less than 20%?

    Well I charge my iPod everyday and i charge it when it gets to less than 20% every time . Is this bad? Is it ok to charge at 50? I usually don't because there is still battery left so.. I just use it till its at 10% and charge it

    Charge whenever you want to. There are mixed reviews out there, but the general concensus seems to be to not let it always run flat before recharging, hard on this type of battery, so charge when you need the power to get through the day.

  • When finalizing iMovie with less than a minute an error message said can not publish because project is already open!

    My question is I get error message when finalizing imove projects saying "can not plublish your project with an open project"
    Where do I find this open project?
    Thanks
    John

    It seems like there's a number of these being posted all around the iMovie Discussion Group. So the solution posted most recently that seems to work for the largest number of people is this:
    This requires using the Terminal app, in your Applications/Utilities folder
    To turn off Time Machine snapshots type in the following command:
    sudo tmutil disablelocal
    The Mac will likely ask for your password, so type it in and hit the return key. The type the word, exit and hit return. Quit Terminal.

  • Complete my album not available when balance due is less than 99 cents?

    I was pleased with the "Complete my Album" idea, and I tried to use it over the weekend, but kept getting an error when iTunes was trying to talk to the store. I started out owing something like $4.03 to complete the album, having bought 4 99 cent songs from a $7.99 album.
    I was frustrated by this repeated error over the course of a few hours, so then I gradually started buying the songs one by one. I bought one, and the price dropped to 3.04. Another, and the price went to 2.05, but the album was still available to be completed. I kept going to the point where I would have expected to have 7 cents left to pay for the remaining 3 songs on the album, but then the album no longer shows up as available to be completed.
    I assume they don't want to bother with such a paltry sum, but beware. Even if you are frustrated, don't buy the songs one by one if the balance will get below 99 cents.
    Is this a known limitation?
    iPhone 8GB Other OS

    Complete my album FAQ
    http://docs.info.apple.com/article.html?artnum=305232#faq3
    How is my Complete My Album price calculated?
    Your Complete My Album price is based on the content you previously acquired from iTunes. If you purchased your songs, we adjust the current album price by the retail price you paid for those song(s). If you acquired your content through select, eligible song code promotions, we adjust the current album price by the full retail price of the song(s).
    *Please note that if you previously acquired so many single tracks from the same album that the Complete My Album price would be less than the current price of a single song (a single video for a video album), you will not be able to purchase the remaining tracks using Complete My Album.*

  • BAPI thorwing 3 different message when GR's being more than PO Qty

    I am using  BAPI(Goods_movement_create)
    This BAPI throws 3 different error messages when the scenario is the same.
    I could see all the 3 messages below are the result of GRu2019s being more than the PO qty.
    10128844     30     4     E     No goods receipt possible for purchase order 10128844 00030
    4500121287     10     12     E     PU Ordered quantity exceeded by 12 EA : 17650 0081 0018
    4500104731     10     1     E     Material document data and PO data do not match (Material)
    thanks
    Senthil

    you have referenced 3 different POs, hence you have to get 3 different messages, even they would have the same error reason. but the message has variables, like PO number and item number and even more.
    Do you just want a summary message like: 3 error occured?
    and what does the user then do? posting in SCN forum what the problem is?
    you will get the same messages if you use MIGO to post it online.

  • Hide/disable a row of a list when "date" column is less than today's date.

    Hi,
    We are using a "Finalsubmitted" date column in my list. my requirement is once that date of Finalsubmitted column is expired(less than today's date), total row should be in hide/disable mode.Could you help me to achieve this.
    Thanks.

    that is a drop down, showing the results from another list based on our selection.
    We have used SP services for that.
    But, date conversion is wrong on  var pubdate= new date(dateselected.value) line.
    It is showing "NaN(Not a number)" . date format it is giving DDMMYYYY.
    But, i need MMDDYYYY. How can we convert in JavaScript.
    Plz check below code.
    <script language="javascript" type="text/javascript">
    $(document).ready(function()
    today = new Date();
    getTagFromIdentifierAndTitle("select","Lookup","Dates").onchange = function() {ChangeEvent1()};
    function ChangeEvent1()
    var dateSelected = document.getElementById("Dropdown ID");
    var pubdate = new Date(dateSelected.value);
    if(pubdate<=today)
    $("input[value$='Save']").attr('disabled', true); //button hides
    alert("Publishing Date should be greater than Today's Date");
    else
    $("input[value$='Save']").attr('disabled', false); //button shown
    function getTagFromIdentifierAndTitle(tagName, identifier, title) {
    var len = identifier.length;
    var tags = document.getElementsByTagName(tagName);
    for (var i=0; i < tags.length; i++) {
    var tempString = tags[i].id;
    if (tags[i].title == title && (identifier == "" || tempString.indexOf(identifier) == tempString.length - len)) {
    return tags[i];
    return null;
    }</script>

  • Approval with UDF for blank price and lower than standard price

    Dear all experts,
    would like to know if it is possible for the following 2 events trigger at the same time?
    background:
    1. a UDF - Standard price retrieve from price list
    2. a UDF - blank approval (with selection Yes and No, default is No, it is document level UDF)
    3. a UDF - unit price lower than standard price (with selection Yes and No, default is No, it is document level UDF)
    Approval event would like to have
    1. If the field - Unit Price is blank -> user need to set the UDF "blank approval " to Yes, so can add the document
    2. If the field - Unit Price is lower than the field - Standard Price -> user need to set the UDF "unit price lower than standard price to" Yes, so can add the document
    i tired the following, but only one of them work when i press the button Add .....
    Please kindly help on this.....
    Many thanks!!
    USE [ANJ_QAS]
    GO
    /****** Object:  StoredProcedure [dbo].[SBO_SP_TransactionNotification]    Script Date: 03/07/2011 00:44:31 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER proc [dbo].[SBO_SP_TransactionNotification]
    @object_type nvarchar(25),                     -- SBO Object Type
    @transaction_type nchar(1),               -- [A]dd, <u>pdate, [D]elete, [C]ancel, C[L]ose
    @num_of_cols_in_key int,
    @list_of_key_cols_tab_del nvarchar(255),
    @list_of_cols_val_tab_del nvarchar(255)
    AS
    begin
    -- Return values
    declare @error  int                    -- Result (0 for no error)
    declare @error_message nvarchar (200)           -- Error string to be displayed
    select @error = 0
    select @error_message = N'Ok'
    --     ADD     YOUR     CODE     HERE
    -- 1. SO with blank price then trigger approval
    If @object_type = '17' AND @transaction_type = 'A'
    BEGIN
         SET @error_message =
              (SELECT TOP 1 ItemCode + ' (' + CAST(LineNum AS NVARCHAR(5)) + ')' +
                   CASE WHEN Price = 0
                             THEN ' Price is blank. Please change UDF - Null Price Approval to "Yes"'
                         ELSE ''
                   END
               FROM RDR1 T0
               WHERE DocEntry = @list_of_cols_val_tab_del
                   AND 1 = (CASE WHEN (Price * (100 - ISNULL(DiscPrcnt,0)) / 100) = 0 THEN 1
                         ELSE 0 END)
                   AND EXISTS (SELECT 1
                                  FROM ORDR S0
                                  WHERE S0.DocEntry = T0.DocEntry AND ISNULL(S0.U_NullPrice,'N') = 'N') )
         IF ISNULL(@error_message,'') <> ''
         BEGIN
              SET @error = '-10001'
         END     
    END
    -- 2. field price after discount < field rock bottom price for SO, then trigger approval
    If @object_type = '17' AND @transaction_type = 'A'
    BEGIN
         SET @error_message =
              (SELECT TOP 1 ItemCode + ' (' + CAST(LineNum AS NVARCHAR(5)) + ')' +
                   CASE WHEN ISNULL(Price,0) < ISNULL(U_rockprice,0)
                             THEN ' Price:' + CAST(ISNULL(Price,0) AS NVARCHAR(30)) + ' Lower Than Rock Bottom Price: ' + CAST(ISNULL(U_rockprice,0) AS NVARCHAR(30)) + '  Please change UDF - RB Approval to "Yes"'
                         ELSE ''
                   END
               FROM RDR1 T0
               WHERE DocEntry = @list_of_cols_val_tab_del
                   AND 1 = (CASE WHEN ISNULL(Price,0) * (100 - ISNULL(DiscPrcnt,0)) / 100 < ISNULL(U_rockprice,0) THEN 1
                         ELSE 0 END)
                   AND EXISTS (SELECT 1
                                  FROM ORDR S0
                                  WHERE S0.DocEntry = T0.DocEntry AND ISNULL(S0.U_RBApproval,'No') = 'No') )
         IF ISNULL(@error_message,'') <> ''
         BEGIN
              SET @error = '-10001'
         END     
    END
    -- Select the return values
    select @error, @error_message
    end
    Edited by: tac wong on Mar 14, 2011 6:36 PM

    Hi Sachin,
    Please create a separate thread for question 2.
    With regard to point 1, there is a good description in the SAP help :
    http://help.sap.com/saphelp_srm2007/helpdata/en/74/344c430fab4d0bbc30996d56cc293a/frameset.htm
    Functions -> Approval Process Frameowrk -> Approval Workflow ->
    Approval with Completion
    and
    Approval
    Kind regards,
    Siobhan

  • Stop displaying a message when button is pressed more than one

    Hi
    I have a forms with button 'save' and when user pressed this button i do some checks and display a message, what i want is to display the message only the first time user presses the button, if user presses the button again and again, message should not be displayed...but i do not know how to fix this, has someone an idea? Thanks.

    Take a look at About Global Variables. You might also want to bookmark the Oracle Forms Documentation web site.
    Basically, you will use a Global Variable as a counter. In your button code, you check the value of the Global Var to see if it is greater than 1. If it is, you exit. If it is not (in other words the Global is equal to zero) then you add 1 to the variable and you display your message. Pretty basic stuff.
    Craig B-)
    If someone's response is helpful or correct, please mark it accordingly.

  • Error messages when calling RSDRI_INFOPROV_READ for more than one time

    Hello all,
    I need to write a cube, however, before I do this I need to check whether there are already data in the target cube for a certain accounting period. This I do by reading the cube via FM RSDRI_INFOPROV_READ. The following coding is called from a running program after pushing a button on the screen.
    <i>* clear internal tables.
          CLEAR gt_range.
          CLEAR gt_sfc.
    *fill internal tables
          CLEAR ls_sfc.
          ls_sfc-chanm    = '0FISCPER'.
          ls_sfc-chaalias = '0FISCPER'.
          ls_sfc-orderby  = 0.
          INSERT ls_sfc INTO TABLE gt_sfc.
          CLEAR ls_range.
          ls_range-chanm    = '0FISCPER'.
          ls_range-sign     = rs_c_range_sign-including.
          ls_range-compop   = rs_c_range_opt-equal.
          ls_range-low      = '2007001'.
          APPEND ls_range TO gt_range.
    here I do not know what exactly to do with this flag
          lf_first_call = abap_true.
          CALL FUNCTION 'RSDRI_INFOPROV_READ'
            EXPORTING
              i_infoprov             = 'T01'
              i_th_sfc               = gt_sfc
              i_th_sfk               = gt_sfk
              i_t_range              = gt_range
              i_packagesize          = 1
            IMPORTING
              e_t_data               = lt_rd_cube
              e_end_of_data          = lf_eod
            CHANGING
              c_first_call           = lf_first_call
            EXCEPTIONS
              illegal_input          = 1
              illegal_input_sfc      = 2
              illegal_input_sfk      = 3
              illegal_input_range    = 4
              illegal_input_tablesel = 5
              no_authorization       = 6
              illegal_download       = 7
              illegal_tablename      = 8
              trans_no_write_mode    = 9
              inherited_error        = 10
              x_message              = 11
              OTHERS                 = 12.
          IF sy-subrc <> 0.
            MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
          ENDIF.
          lf_eod = abap_false.
          IF NOT lt_rd_cube IS INITIAL.
            RAISE target_data_found.
            EXIT.
          ENDIF.</i>
    When testing with a period for which data already exists, it runs through quite perfectly. The return table is filled and I know that data exists and I EXIT.
    However, if I press the button again (program is still running) I get an error message 'Nested call of RSDRI_INFOPROV_READ'. And this for each time I press the button.
    So I thought I should clear the flag lf_first_call. After having done so I get an error message 'SQL Error'. Funny is that I get this error only every second time the Function Module is processed. Every other time it works perfectly.
    How can I get rid of those error messages?
    PLEASE - can anybody help me?
    Many thanks in advance,
    Thomas

    Hi,
    you have something like:
    end_of_data = ' '.
    first_call  = 'X'.
      WHILE end_of_data = ' '.
            CALL FUNCTION 'RSDRI_INFOPROV_READ'
              EXPORTING  i_infoprov             = ....
                         i_th_sfc               = ...
                         i_th_sfk               = ...
                         i_t_range              = ...
                         i_reference_date       = ...
                         i_save_in_table        = ....
                         i_save_in_file         = ....
                         I_USE_DB_AGGREGATION   = ...
                         i_packagesize          = 100000
                         i_authority_check      = ...
              IMPORTING  e_t_data               = .....
                         e_end_of_data          = end_of_data
              CHANGING   c_first_call           = first_call
              EXCEPTIONS illegal_input          = 1
                         illegal_input_sfc      = 2
                         illegal_input_sfk      = 3
                         illegal_input_range    = 4
                         illegal_input_tablesel = 5
                         no_authorization       = 6
                         ncum_not_supported     = 7
                         illegal_download       = 8
                         illegal_tablename      = 9
                         OTHERS                 = 11.
      ENDWHILE.
    hope this helps...
    Olivier.

  • How to create a topic with link attached when my post is less than 5

    Hi all,
    I was unable to post a forum due to the following error:
    "You can only use links to eclipse.org sites while you have fewer than 5 messages"
    Any workaround for this limitation?

    Change the link to be hxxp:// instead of http://
    Then you can use "Report message to a moderator" (located near the bottom-right corner of message) to request that the link be edited as a "real" one.

Maybe you are looking for