SD: FM for getting conditions?

Hi there,
I'm looking for a function module or BAPI which gives me all conditions of an sales order (header and position). Is there sth like this available?
Thank you.
Kind regards
Markus

Hi,
Goto Trxn   BAPI
BAPI-----> Sales and Distribution -
>Sales --->SalesOrder
Here U'll get all sales order related BAPI's

Similar Messages

  • Function Module for getting the Sales Price for a condition type

    Hi,
    I am looking for a standard function module to which I can pass my condition type(new customizing) and it will return the sales price. The customer is going to create some new condition type to manitain the sales price. I'll have the necessary information like material/sales org/distribution channel, customer and need the standard function module to read the condition records for that condition type(as configured) and give me the price. PLease help if you know of a standard function module performing this.
    Thanks in advance.
    Regards
    Malthi

    Hi malthi ,
    welcome to sdn
    for material sales area u can look for the validations is table MVKE.
    the classification of the conditions is in tables like A901, a902 etc which in my opinion holds the condition types per classification .
    put a A* in se11 and this will give the list of tables per classification .
    u need to get the conditions as per kschl and dmbtr and
    etc..
    like this ..
    Get Condition Values for Material/Plant combination
      IF NOT i_a916[] IS INITIAL.
        SELECT knumh kappl kschl krech
               kbetr konwa kpein kmein
               INTO TABLE i_konp
               FROM konp
               FOR ALL ENTRIES IN i_a916
               WHERE knumh EQ i_a916-knumh AND
                     kappl EQ i_a916-kappl AND
                     kschl EQ i_a916-kschl AND
                     loevm_ko NE 'X'.
      ENDIF.
    Get Condition Values for Material/Plant/Ordertype/
    Customer combination
      IF NOT i_a925[] IS INITIAL.
        SELECT knumh kappl kschl  krech
               kbetr konwa kpein kmein
               APPENDING TABLE i_konp
               FROM konp
               FOR ALL ENTRIES IN i_a925
               WHERE knumh EQ i_a925-knumh AND
                     kappl EQ i_a925-kappl AND
                     kschl EQ i_a925-kschl AND
                     loevm_ko NE 'X'.
      ENDIF.
    just check this Fm if u can apply ur condition over here ..
    ME_GET_PRICE_CONDITION
    regards,
    VIjay.

  • Get Conditions for Service sub positions

    Hello , i use a purchase order form this FM RV_PRICE_PRINT_ITEM to get conditions of position but in case of service position which have sub-position with they own conditions i can't find how get that conditions y search the tables konp,konh, KONV
    but i don't find a way to get the data for sub-position of services  any idea about this ?
    Thanks.

    We used Badi - BBP_CREATE_REQ_BACK para agrupar posiciones

  • Limit of for each conditions in rtf templates

    Hi Everyone,
    I have a use case where i need to genereate a report by using values from two data sets. data sales, cost.
    Data set sales have four columns product1, product 2, product 3, product 4
    Cost has cost1,cost 2, cost 3, cost 4.
    I need to display in below format
    product 1| product 2| cost 1|cost 2| product 3| product 4| cost 3| cost 4|
    To get above format i am using four for each condition groupings two for each data set
    <?for-each:/data/sales?><?product1?>|<?product2?><?end for-each?>|<?for-each:/data/cost?><?cost1?>|<?cost2?><?end for-each?>|<?for_each:/data/sales?><?product3?>|<?product 4?><?end for-each?>|<?for-each:/data/cost?><?cost3?>|<?cost4?><?end for-each?>
    If i use first two for each conditions i am able to see values in template but if i use four line is missing in the template.
    I did not understand where lies the problem.
    Please let me know if you need more info.
    Regards
    Sandeep

    If you have product ID or key in the cost data set, then you can follow the method in this post to display data:
    http://blogs.oracle.com/xmlpublisher/2009/09/formatting_concatenated_dataso.html

  • Gross price for BASB Condition is not picking in Purchase Order invoice tab

    Hi Gurus
    In taxinj -- conditional base column i added 362 and
    in pricing procedure for gross price in subtotal column i added 6
    but even though when i click invoice tab while creating Purchase Order i am not getting gross price for BASB condition same as gross price in pricing procedure it is picking some different value such as either net value or manual excise from pricing procedure JEXC condition value.
    what went wrong.
    Rgds
    Shrikant Kamat.

    Hi Saplearner's
    Is there any body who will focus on this issue
    I have maintained all this accordingly, but the problem lies over here
    Pb00-- 100 
    ra01---  2   discount
    net--  98
    jexc(16%)--15.68 ( MANUAL EXCISE)
    net amount including tax-- 113.68
    freight(2%)-- 1.96
    Actual-- 115.68.
    BASB-- 115.68  ( It should be 100)
    In short i have given summary above, now let me explain
    when i am giving 100 as gross price,discount-2 and if i dont give JEXC, then BASB is coming 100 that is correct.
    when i am giving 100 as gross price, discount 2 and if i give JEXC  , then BASB is  picking as 115.68.
    Problem is here when we give  JEXC  manual excise.
    Rgds
    Kamat.
    Edited by: shrikant kamat on Feb 16, 2009 2:09 AM
    Edited by: shrikant kamat on Feb 16, 2009 2:09 AM
    Edited by: shrikant kamat on Feb 16, 2009 2:10 AM
    Edited by: shrikant kamat on Feb 16, 2009 11:57 PM

  • Migo reference document not appearing in miro for frieght conditions

    Dear all,
    I ahve done migo for a po and i have checked GR based invoice in PO.When i am doing MIRO i am not getting the migo reference number for frieght condition where as the migo reference number is appearing for base price.How to get that migo reference number for frieght conditions also.
    thanks in advance
    regards
    vithal

    Sometimes the the MIGO creator might have reversed the same. In such cases the reversal document may be with different number in the same series and both posted & reversed documents will not appear in MIRO. Since you might checking with posted document number, you are seeing the blank in MIRO. In such cases, just enter the PO number in MIRO, give date & reference number press Show PO structure button in the left corner. You will find the following screen
    Expand the required once. The following screen appears. In this both positive & negative numbers with same reference & document type appearing are the reversed documents.
    Hope this is clear

  • How to use i for if condition in a for i in loop?

    Hi friends,
    I have a question on how to use i for IF condition in a loop, in order to get an efficient programming and results. Here is outlined SQL:
    cursor is
    select c1,c2,c3 from table1; -- 100 rows returned.
    open cursor
    loop
    fetch c1,c2,c3 into v1,v2,v3;
    for i in 1..3 loop
    if 'v'||i between 90 and 100 then
    v_grade := 'Excellent';
    elsif 'v'||i between 80 and 89 then
    elsif 'v'||i between 50 and 59 then
    end if;
    end loop;
    close cursor;
    This way, I don't need to use a lot of if..then for hard code v1,v2,v3,.... actually I have more v..
    But Oracle gave an error of this usage of 'if 'v'||i' or 'v'||to_char(i).
    Thanks for any advice in advance!

    user508774 wrote:
    Thanks for comments and advices. But I didn't get your inputs clearly. Are you saying I don't need to use PL/SQL to achieve this?Correct. Ronel and John showed you the basic approaches. SQL is not a mere I/O language for making read and write calls. It is a very capable, flexible and powerful language. One can solve a problem with a few lines of SQL code, that will take 100's of lines of PL/SQL or Java code.
    So do not underestimate what can be done in SQL.
    v_cmd := 'UPDATE parts_categ_counts SET w1='||v1||', w2='||v2||...||v9||' WHERE seq='||vseq||';
    EXECUTE IMMEDIATE v_cmd;This code is also wrong. Besides the fact that there is no need for dynamic SQL, this approach creates a brand new SQL statement each loop iteration.
    SQL is source code. It needs to be parsed (compiled). The end result is an executable program that is called a cursor. This cursor needs to be stored in server memory (the SQL Shared Pool in the SGA).
    The problem with your code is that it is slow and expensive - it generates lots of unique SQL statements that need CPU for parsing and server memory for storage.
    These add up to a very significant performance overhead. That is the wrong approach. The correct approach is the same one that you would use in any other programming language.
    Let's say you need to use Java to process a bunch of CSV files - exact same CSV layout used by each file. A file needs to be read, processed, and a log file created.
    Will you write a Java program that loops through the files, for each file found, write a Java program for processing that file, compile it, then execute it?
    Or would you write a Java program that takes the name of the file as input, and then process that file and writes the log file?
    The 2nd approach provides a program that can process any of those CSV files - one simply needs to pass the filename as an input parameter.
    Your code and approach use the 1st method. Not the 2nd. And that is why it is wrong.
    To create a SQL program with parameters is done by using bind variables. Instead of
    v_cmd := 'UPDATE parts_categ_counts SET w1='||v1||', w2='||v2||...||v9||' WHERE seq='||vseq||';
    The following SQL source code should be created:
    v_cmd := 'UPDATE parts_categ_counts SET w1=:v1, w2=:v2 ..., w9=:v9 WHERE seq= :vseq';
    The tokens with the colon prefix (such as :v1), are bind variables. Think of these as the parameters to the SQL cursor.
    The server parses this SQL into a cursor. You can now execute the same cursor over and over again, using different bind variables. (just like the 2nd approach above that one would use in Java)
    In PL/SQL, this is made even easier as you can code native SQL code with PL/SQL code and use PL/SQL variables in it. The PL/SQL compiler is clever enough to do the SQL parsing, variable binding, and cursor execution for you. So in PL/SQL, you would use:
    UPDATE parts_categ_counts SET w1=v1, w2=v2 ..., w9=v9 WHERE seq= vseq;
    Where v1 and the others are PL/SQL variables.
    That all said - PL/SQL is only used for data crunching, when the processing of data is too complex for the SQL language to deal with. And this is very seldom the case.
    The main reason for using PL/SQL it to provide processing flow control, conditional processing and error handling, for SQL code. As the SQL language does not have these features.

  • Tax not calculated in MIRO for the condition type JVCD

    Hi,
    We made some new different tax code and attached with JVCD , its calculating in PO but in MIRO calculation part not done but for other condition type ,JVRD,JVRN system calculating well...
    Please tell me some way why not system calculating in case of JVCD and JVCN for capital case..
    Thanks in Advance,
    Dharmveer

    Hi,
    We totally agreed with you and already we checked our configuration part is OK.Actually we want to map some process where we captured excise in GR but no need to take credit i.e. to post the excise in J1IEX,so we do not have to post our cenvat/modvat entry in MIRO but we need to calculate VAT whether it is deductible or non deductible.So far this thing is concerned,we made separate tax code which we use at time of MIRO posting and in configuration we did not attached the tax code in logitics-basic excise -assign to company code. Because once we attached here , system asking to make to pass furst RG part2 entry then it allows to post MIRO entry which we do not want .So please understand this scenario is different and we got the success for JVRN/JVRD for VAT but getting issue in case of capital VAT where system does not calculate tax for JVCN/JVCD .....where we want to process MIRO without posting J1IEX..
    Please thing and analyse ..give some helping response..
    Thanks,
    Dharmveer

  • ABAP code in to JAVA for overwritting condition value for IPC pricing

    Dear experts i am an IPC JAVA developer and i am trying to translate an ABAP Routine in to JAVA code for overwriting condition value in the pricing user exit of IPC
    Here is the ABAPcode segment i am trying to transulate
      DATA: l_kdkg1  LIKE komk-kdkg1,
            l_work TYPE f,
            l_umren LIKE marm-umren,
            l_umrez LIKE marm-umrez.
      SELECT SINGLE peinh FROM mbew INTO mbew-peinh         
      WHERE matnr = komp-matnr
      AND bwkey = komp-werks.
      I need some  help in the following things
      1. I don't know how to transulate the following Line of ABAP code into JAVA
         " AND bwkey = komp-werks."
    Bwkey stands for plant details. I don't know how to get plant details from  Pricing Item.
      2. Someone please tell me weather the following JAVA transulation is correct
      Vector x = prItem.getUserExitConditions();
      db database = pricingEngine.getDatabase();
         // set table name
      String tableStart = "mbew";                                             
         // set query parameters
      sys_query_pair[] queryPair = null;
      //matnr = komp-matnr . Getting the material Number
      String materialNo= prItem.getProduct().toString();
      //bwkey = komp-werks.Getting plant.
      // TODO: werks stands for plant. Not sure how to get it from prItem
       String plant = "";
       queryPair = new sys_query_pair[2];                    
       queryPair[0] = new sys_query_pair("matnr", materialNo);
       queryPair[1] = new sys_query_pair("bwkey", plant);
      // set query columns
       String ZZFIELDStart = "peinh";
       String ZZFIELD_VALUEStart;                   
       String[] projectionStart;
       projectionStart = new String[];
       BigDecimal pricingUnit = null;
       try{     
          // execute query
          res resultSetStart = database.db_read_table(tableStart, queryPair,projectionStart) ;
          if (!res.db_empty_results_p(resultSetStart))
         ZZFIELD_VALUEStart = resultSetStart.db_get_row_element_string(0);
         pricingUnit = new BigDecimal(ZZFIELD_VALUEStart);
         resultSetStart.db_finish();
       else
         System.out.println("Coudn't find a value of field peinh in table mbew!");
       catch (exc_database_error e)
         e.printStackTrace();

    Please login to the server where IPC is installed. In the IPC folder u find libs folder  or search for docs in IPC folder. There it is dealt how ABAP routines are mapped to  user exits in java coding
    Thanks
    Surya

  • Automatic Pricing for Header condition

    Hello,
    We have the following scenario.
    For an specific Sales Order type we need to charge (surcharge or a fee) a fix $$ amount at the header level. This amount should be charged only if the total value of the order is less then a fixed $$ amount.
    Also another condition is for a specific material group we need to charge a fix $$ amount and if this condition is selected then the other condition should not be selected.
    Eg:
    1) for all material with Material group AB we want to charge(via condition type) 100$ at the header level.
    we want this automatically at the header.
    2) For all Order type OR we want to charge(I will maintain a condition type) 200$ if the net value of that sales order is less then 5000$. This is not item specific but at the Order header level.
    We dont want to manually enter the condition type (surcharge).
    I know that for Header conditions we cannot have access sequence and condition records. Then how can the 100$ or 200$ charge condition type come automatically in the Sales Order if the total order value is less then 5000$.
    I can have a requirement but what about the condition Record and the access sequence for the Order type or the material group?
    Any Ideas?
    Thanks
    SAP Fan

    hello, friend.
    i have an hypothesis (which is merely a guess because i have not tried this recently), that it is possible to do this, but you have make your condition type both header and item, which means you get to assign an access sequence (enabling condition records).  but you must also "tick" the "group condition" in the condition type so that even if this is entered at item level, this applies to the entire document and will be distributed to the items.
    the group condition is supposed to be used for manually entered header conditions such as pallet discounts, and i think i might have done this for material groups, but do not recall if i've done this for order type or any other variable at one point.  please do us a favor and test it, and post your findings.
    regards!!!
    Edited by: jonathan y on Jun 1, 2009 3:08 PM

  • Table or Function Module to get Condition Values of Quotation

    Hi MM Gurus
    I created RFQ. Then I maintained Quotation for few Vendors. In the Quotation, I used tax code relevant to taxes in India (TAXINN procedure). I am asked to develop a Z report with the help of ABAPer to compare the quotations with Gross price, discounts, freight along with taxes like Excise Duty, VAT etc. When I had put this Quotation number in EKKO table, I am not getting the condition document number KNUMV. For other purchasing documents, this field is getting generated. Without this field, I can not get Condition values using KONV table as we need to link EKKO-KNUMV with KONV-KNUMV. Do you have any idea how we get the condition values of taxes for Quotation? Is there any function module to get it?
    I really appreciate the quick answer.
    Thanks
    Ravi

    Hi
    Try ME_GET_PRICE_CONDITION
    Regards
    Antony

  • Receive "The page cannot be displayed" for Pricing Conditions

    To all,
    I receive the message "The page cannot be displayed" for Pricing Conditions when I select the "Accesses" button.  I then received the message "HTML field saved to C:\temp\CRM_IPC.html". 
    This only seems to happen when using the pricing in the service order confirmation.

    Hi Bob,
    R u using IPC for pricing, if yes just check the connections to the IPC server.
    The error is because of the IPC connection not getting established.
    <b>Please reward points if it helps.</b>
    Regards,
    Amit Mishra

  • BAPI function module to get condition type and its values based on delivery number?

    Hi All,
    I would like to have the BAPI function module to get condition type value based on delivery number before invoice is created.please provide detail program for as a reference .please reply as soon as possible its urgent.
    Regards,
    saaikumar.

    If you haven't already, you may first need to search via the SAP transaction "BAPI" in the area this is applicable to.  Failing that I do hope you get an answer.

  • To count number of records in an internal table for a condition

    Hello All,
            I want to count number of records in an internal table for a condition.
    For e.g. -- I have one internal table IT which having fields F1, F2, F3, F4, F5.
                     Now, I want number of records in itnternal table IT where F1 = 'ABC'.
    Is it possible to do..?? If yes, then how.??
    Thanks in advance...!!
    Regards,
    Poonam.

    Hi,
    If you mean an internal table, there are a few ways to do this.
    1 One would be to loop over the table with a WHERE clause and increment a counter.
    data: lv_counter type i.
    clear lv_counter.
    loop at itab where fld1 = 'ABC'.
    lv_counter = lv_counter + 1.
    endloop.
    lv_counter now has the number of rows per the condiction.
    2  Well, you may want to try this as well, and compare to the LOOP way. Not sure what kind of overhead you may get doing this way. Here ITAB is our main internal table, and ITAB_TMP is a copy of it. Again I think there may be some overhead in doing the copy. Next, delete out all records which are the reverse of your condition. Then whatever is left is the rows that you want to count. Then simply do a LINES operator on the internal table, passing the number of lines to LV_COUNT.
    data: itab type table of ttab.
    data: itab_tmp type table of ttab.
    itab_tmp[] = itab[].
    delete table itab_tmp where fld1  'ABC'.
    lv_count = lines( itab_tmp ).
    Thanks & Regards,
    ShreeMohan

  • Getting Condition Unit using Calculation Type

    Hi all,
    I got the calculation type from the table T685A with the Application value 'V' and Condition Type 'ZTUP' .
    The Calculation Type is 'C' which means Quantity.
    Can anyone please share for getting the Condition Unit (For Eg:  'EA' )  based on the Calculation Type , Material and Plant?
    The field is  KONP-KMEIN
    Thanks,
    Hema.

    This information should be in the condition record. Pricing condition records are stored in tables Annn, e.g. A601, A901 and such. Since tables are customizable, they will be different in each system. You'll need to get this information from your functional expert.
    Also keep in mind that this data may be different for each document (again, depending on your configuration). If it's SD, then for the documents you'll find the conditions in KONV table.

Maybe you are looking for

  • How to connect sqlserver use oracle sql developer?

    I created a non-oracle location connection in owb and can load data from sqlserver to warehouse. Now, I want to use sqlplus or sqldeveloper to connect sqlserver directly, But I got this error message"ora-03135:connection lost contact". How can I conn

  • Semicolon in SQL Query

    Hi, I've encountered numerous problems when having a semicolon at the end of a SQL Query report. I can't see the advantage of letting the user have this. Would it be possible in future versions of APEX to either remove it, if applicable, or throw an

  • CFC query union with database query

    I'm trying to invoke a webservice to return a query, and then run a parallel query in another database, and UNION the two with a query of query. Both the webservice server and the local server are CF7, both running MySQL, both accessing tables with p

  • Bonjour can't find wi-fi cameras

    Took my computer devices and computer completely apart and moved them to paint walls. When I hooked everything up Bonjour can't find wi-fi cameras.

  • After Effects Help | 3D layers

    This question was posted in response to the following article: http://helpx.adobe.com/after-effects/using/3d-layers.html