Table name for storing condition value determined for Transactions

Hi,
For a routine that we need to write for pricing procedure, we need to pick up the value of the condition record that gets determined in any order.
We were not able to find this table name.
Any pointers?
regards,
Jaya

>
Jaya Nigam wrote:
> Hi,
> For a routine that we need to write for pricing procedure, we need to pick up the value of the condition record that gets determined in any order.
>
> We were not able to find this table name.
> Any pointers?
> regards,
> Jaya
Hi Jaya,
It will be really helpful if you tell the business requirement.
However you can use the following code snippet to loop the conditions.Hope this helps.
IPricingItemUserExit prItem
used in method calling as an parameter
java.util.Vector conditions =prItem.getConditionsWithoutInvisible();
for (int i = 0; i < conditions.size(); i++)
IPricingConditionUserExit cond =
                                   (IPricingConditionUserExit) conditions.get(i);
Warm Regards,
Sumit

Similar Messages

  • 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

  • Table name where all CCMS values stored

    Hi,
    Can any one provide the table name where all CCMS values stored ( for all MTE classes) in the data base?
    Regards
    Soumitra

    Hi,
    it is not a single table where CCMS stores the alert data.
    it is comming from multiple functional modules like..
    SALM_MT_GET_TREE_AND_MTDATA,
    SALM_MT_TYPE_GET,
    SALM_VIRTUAL_MT_CREATE,
    SALM_MT_TREES_CONCATENATE,
    SALM_ALERTS_PROP_IN_VIRT_TREE,
    SALM_MONITOR_CREATE,
    SALM_MONITOR_DESTROY,
    SALM_MONITOR_LOAD,
    SALM_MT_ALERT_DATA_SHOW,
    SALM_MT_MARKED_INFO_GET,
    SALM_ALERT_SET_DONE,
    SALM_ERRONOUS_MT_NODE_CREATE,
    SALM_GET_TID_BY_NAME,
    SALM_MT_DETAIL_DATA_SHOW,
    SALM_MONITOR_NAME_GET,
    SALM_MT_TREE_DISPLAYCONFIG_GET,
    SALM_MT_ANALYSE_SHOW,
    SALM_MT_ANALYSE,
    SALM_MT_TREE_LEGEND_SHOW,
    SALM_RAISE_ALERT_STATE_CHANGE,
    SALM_MT_INVALID_ACTION_WARNING,
    SALM_MT_DESTROY,
    SALM_MT_RESET,
    SALM_MT_MARKING_EDITOR,
    SALM_MT_MONITORING_START,
    SALM_MONISET_READ_FROM_DB,
    SALM_MONISET_WRITE_TO_DB,
    SALM_MONISET_ATTRIBUTE_EDITOR,
    SALM_MONISET_DELETE_FROM_DB,
    SALM_GET_MT_TREE_MARKINGS,
    SALM_MT_DESTROY,
    SALM_MT_RESET,
    SALM_MT_MARKING_EDITOR,
    SALM_MT_MONITORING_START,
    SALM_MONISET_READ_FROM_DB,
    SALM_MONISET_WRITE_TO_DB,
    SALM_MONISET_ATTRIBUTE_EDITOR,
    SALM_MONISET_DELETE_FROM_DB,
    SALM_GET_MT_TREE_MARKINGS,
    SALM_MT_CLASSES_MARK,
    SALM_MT_CLASS_NAME_GET,
    SALM_MONITOR_COPY,
    SALM_MONISET_COPY,
    SALM_MT_SAMPLES_GRAPH_DISPLAY,
    SALM_MT_READ,
    SALM_MT_GET_AID_BY_TID,
    SALM_MT_DESCRIPTION_SHOW,
    SALM_MONIDEF_NODE_EDITOR,
    SALM_MONIDEF_EDITOR,
    SALM_RULE_RESULT_NODE_CREATE,
    SALM_MONITOR_TEMPLATE_GENERATE,
    SALM_MONITOR_TEMPL_NODE_CREATE,
    SALM_MONITOR_PRESENTATION_GEN,
    SALM_MONIDEF_NODE_CREATE,
    SALM_MONIDEF_EDITOR,
    SALM_RULE_RESULT_NODE_CREATE,
    SALM_MONITOR_TEMPLATE_GENERATE,
    SALM_MONITOR_TEMPL_NODE_CREATE,
    SALM_MONITOR_PRESENTATION_GEN,
    SALM_MONIDEF_NODE_CREATE,
    SALM_GET_MONIDEF_TREE_MARKINGS,
    SALM_MSC_TIME_INTERVAL_GET,
    SALM_TEST_VALUE_REPORT,
    SALM_MONISET_DIRECTORY_GET,
    SALM_MONITOR_DIRECTORY_GET,
    SALM_MONITOR_TEMPLATE_GET,
    SALM_MONITOR_PRESENTATION_GET,
    SALM_MONISET_DISPLAYCONFIG_GET,
    SALM_MT_ALERT_DATA_GET,
    SALM_MONITOR_DISPLAYCONFIG_GET,
    SALM_ABORTED_TOOL_STATUS_RESET,
    SALM_MONISET_DIR_LEGEND_SHOW,
    SALM_MT_PERF_HISTORY_DATA_GET,
    SALM_ALERT_DESCRIPTION_SHOW,
    SALM_MONIDEF_RULE_DESCR_EDITOR,
    SALM_RULE_PARAM_TYPE_HELP,
    SALM_RULE_PARAM_DOCU_HELP,
    SALM_RULE_PARAM_DESCR_CHECK,
    SALM_LOGIN_TO_SYSTEM_OF_MTE,
    SALM_MT_R3SYSTEM_EXPLORE,
    SALM_MONITOR_LOAD_IN_OWN_TASK,
    SALM_MT_ALERT_DATA_SHOW_GRID,
    SALM_MT_ALERT_DATA_BUILD_ALV,
    SALM_ALERT_TIME_INTERVAL_GET,
    SALM_TEST_COPY_MONISETS,
    SALM_MONIDEF_WRITE_TO_FILE,
    SALM_MONIDEF_READ_FROM_FILE,
    SALM_MONIDEF_SYNTAX_CHECK,
    SALM_MT_STATE_CHANGE,,
    SALM_LOAD_MON_FROM_ACTIVE_SET,
    SALM_MONIDEF_SYNTAX_CHECK,
    SALM_MT_STATE_CHANGE,
    SALM_LOAD_MON_FROM_ACTIVE_SET,
    SALM_GET_CURRENT_DB_FORMAT_VER,
    SALM_MONIDEFS_OF_MONISET_GET,
    SALM_GET_CURRENT_MONISET,
    SALM_SET_CURRENT_MONISET,
    SALM_MT_ASSIGN_ATTRIBUTE_GROUP,
    SALM_VOLATILE_RULE_PARAM_SET,
    SALM_VOLATILE_SYSIDLIST_SET,
    SALM_MT_CLASSES_MARK,
    SALM_MT_CLASS_NAME_GET,
    SALM_MONITOR_COPY,
    SALM_MONISET_COPY,
    SALM_MT_SAMPLES_GRAPH_DISPLAY,
    SALM_MT_READ,
    Edited by: Soumitra Roy on Oct 13, 2009 5:31 AM

  • Standard method for storing gps values

    what is the standard method to store gps values in database tables.

    user10447332 wrote:
    for storing gps values oracle spatial is copmulsary? is there any alternative solutionYou hijacking the OP's thread?
    I assume you mean "compulsary". ;)
    No, nothing is compulsary, you could store GPS values in your own data structure if you choose. However Oracle spatial is usually the place where spatial data such as GPS values are processed.
    Depends what you want to do with it.

  • Table Name to see the Document Flow for Service Order - T. Code IW33?

    Hi,
    can u advise the Table Name to see the Document Flow for Service Order - T. Code IW33?
    Ravi.

    Hi,
    From SERVICE ORDER you cant get the INVOCIE NUMBER,
    You will get the SALES ORDER number for that Service order in QMEL table and fetch the Sales order and then goto VBFA to get the Invoice number for the sales order with the DOCUMENT CATEGORY M.
    hope it will serve you.
    thanks,
    santosh

  • How to Concatenate Table name and Where condition at runtime

    I am passing parameter as User and Zone to Stored Procedure.How to concatenate Table Name
    and WHERE CONDITION in SQL Statement.i have different type of users and zones.

    Hi !
    declare
      cur sys_refcursor;
      r emp%rowtype;
      v_sql varchar2(512);
    begin
    -- do your logic here
      v_sql := 'select * from emp';
      open cur for v_sql;
      loop
        fetch cur into r;
        exit when cur%notfound;
        dbms_output.put_line(r.ename);
      end loop;
      close cur;
    end;In this example you can see how can be done this with cursor vars .. You should concatenate v_sql string according to your requirements.
    But as in further posts has already been mentioned , be carefull at publishing such kind of procedures and think on security.
    Also when you want dynamicaly change from clause , you should consider using different records to accept data ? Maybe all your tables has the same structure and then this problem will be smaller.
    T
    T

  • Badi for setting default values in the transaction in APO.

    BADI NAME: SMOD_APOCF005 which is used for setting default values in the transaction.
    I have implemented the BADI using the below code but that BADI is not triggering. Please can you provide any solution for resolving this.
    As per my requirement I am trying to set default values for these three fields RRP_TYPE, WHATBOM, CONVH.
    DATA: LS_MATLOC LIKE LINE OF IT_MATLOC.
    LOOP AT IT_MATLOC INTO LS_MATLOC.
    LS_MATLOC-RRP_TYPE = '4'.
    LS_MATLOC-WHATBOM = '5'.
    LS_MATLOC-CONVH = '999'.
    MODIFY TABLE IT_MATLOC FROM LS_MATLOC TRANSPORTING RRP_TYPE WHATBOM CONVH.
    ENDLOOP.
    DATA: LS_MATLOCX LIKE LINE OF IT_MATLOCX.
    LOOP AT IT_MATLOCX INTO LS_MATLOCX.
    LS_MATLOCX-RRP_TYPE = 'X'.
    LS_MATLOCX-WHATBOM = 'X'.
    LS_MATLOCX-CONVH = 'X'.
    MODIFY TABLE IT_MATLOCX FROM LS_MATLOCX TRANSPORTING RRP_TYPE WHATBOM CONVH.
    ENDLOOP.

    The  BADI name: SMOD_APOCF005 .
    T.code at APO : /sapapo/mat1
    Once we enter in that T.Code with some Product and Location data.
    There under PP/DS tab.
    Under Planning Procedure there is a field PP Plng Procedure which I want to set as 4
    And under Order Creation there is Plan Explosion which needs to be set as 5
    And Under Horizons there is PP/DS Horizon which needs to be set as 999.
    BADi is implemented and active.
    And once the data is CIF from ECC to APO
    These default values are not set in the T code in APO and the BADi is not triggering.

  • Passing Table Name to Stored Procedure for From Clause

    Is it possible to pass a table name to a stored procedure to be used in the From clause? I have the same task to perform with numerous tables and I'd like to use the same SP and just pass the table name in. Something like this:
    =======================================
    CREATE OR REPLACE PROCEDURE SP_TEST(
    in_TABLE IN VARCHAR2,
    AS
    V_TABLE VARCHAR2(10);
    BEGIN
    V_TABLE := 'st_' || in_TABLE; -- in_TABLE is 2-3 character string
    SELECT some_columns
    INTO some_variables
    FROM V_TABLE
    WHERE some_conditions...;
    END;
    =======================================
    I'm also using the passed table name to assign to variables in the Select and Where clauses. What I'm getting is an error that V_TABLE must be declared. When I hard code the table name, I don't get any errors, even though I'm also using the same method to assign values in the Select and Where clauses.
    Thanks,
    Ed Holloman

    You need to use dynamic SQL whenever you are swapping out object names (tables, columns).
    create or replace procedure sp_test
      (in_table in varchar2)
    is
      -- variables
    begin
      execute immediate 'select a, b, c from st_' || in_table || ' where x = :xval and y = :yval'
         into v_a, v_b, v_c using v_x, v_y;
    end;

  • Looking for document condition value

    Hi All,
    I have order from transaction jha3x and i am looking for document condition of that order so that i'll get condition value from table KONV....so can anyone please tell me where i'll find this document condition value from order number.
    Thanks.

    Hi,
    I searched the the tcode in google but it's not a tcode in ECC, but in Media Industry solution.
    JHA3X - Display IS Media Order
    This is really new for us. Can you try the following?
    0ME_ISM_SD_ORD_ITEX               IS-M/SD: Subscription Order Item
    I haven't found a IS-M DataSource that contains condition data. Maybe you have to append structure and enhance.
    Maybe you need to first activate it in RSA5 and then test in RSA3.
    At last, all order related DataSource are here, for your reference:
    0ME_ISM_SD_ORDST_1                IS-M/SD: Orders on Hand on Key Date
    0ME_ISM_SD_ORDTR                  IS-M/SD Transactions Affecting Live Subscriptions
    0ME_ISM_SD_ORD_ACC                IS-M/SD: Liability Account
    0ME_ISM_SD_ORD_ADDR               IS-M/SD: Address Data for Subscription Order
    0ME_ISM_SD_ORD_ITEM               IS-M/SD: Subscription Order Data
    0ME_ISM_SD_ORD_ITEX               IS-M/SD: Subscription Order Item
    0ME_ISM_SD_ORD_PROM               IS-M/SD: Subscription Promotion Data
    0ME_ISM_SD_ORD_REM                IS-M/SD: Renewal Payment
    Regards,
    Frank

  • Condition Values only for display

    Dear Sirs
    I have the following requirement
    ZTSP   (Total Selling Price)   No G/L update      needs to be displayed in Invoice printout
    ZTRP ( Transport price )      G/L update           do not display in invoice printout
    ZMSP  ( ZTSP  -  ZTRP  )    G/L  Update           do not display in invoice printout
    ZSUR  (Surcharges)         G/L  Update              need to be displayed in invoice printout
    Could please help me to configure above pricing condition types.
    Best Regards
    Achanta

    Hi,
       If you choose 'only plant related conditions allowed' option in OMF0, then the info records can be created with plant only, you cant create central contracts etc.
       Since the issue is for only one condition type, I would suggest you to go for access sequence with plant for the condition type. Create a new access sequence for the condition type with condition table containing plant (and any other characteristic as required) and assign the same to the condition type. Maintain the condition type with "Not possible to process manually". Maintain the condition record accordingly in MEK1 with relevant plant.
       Now the condition type will be available automatically, based on the plant, in PO. The user wont be able to insert it manually.
       If the condition is a manual condition as of now, then you can create a new condition table with plant only as characteristic. Maintain the condition record with blank value. Now the condition will be always visible in PO with blank value for the particular plant.
       You may check the option and revert back.
    Regards,
    AKPT

  • Different execution plan for same query but for different condition value

    Hi All,
    I'm facing a strange situation where same query for different condition not working.
    1--
    Select  top 10 * from revenuefact(nolock) 
    where feecode ='OW4'
    2--
    Select  top 10 * from revenuefact(nolock)
    where feecode ='BTE'
    1st query is returning result easily but 2nd query is taking too long. Column
    feecode has already Non-clustered index and Clustered index is also available for another col RevenueSID.
    I was surprised when checked the query execution plan for both the above queries  which is quite different (as per attached below). Can anyone suggest me the reason behind it.
    And solution for the same. One more thing that data for feecode BTE is inserting through different source instead of others feecode and table contains more than 300 million rows.

    When I speak with people inside Microsoft who work with the optimizer, the refuse to accept the work "bug" when a query produces the correct result, but with a suboptimal plan. They prefer to use the word "limitation".
    The limitation here is that when the optimizer compares two plans, it only looks at the estimated cost. As far as I know, it does not perform any analysis from the perspective "what if the statistics are wrong"? They do provide the hint OPTIMIZE
    FOR UNKNOWN, but that does not work then there is a constant as in this case.
    The optimizer will surely distinguish between TOP 10 and TOP 10000000. With the latter, you have all reason to expect a Clustered Index Scan no matter which value you search for - unless you pick a value for which the histogram indicates that there are no
    rows.
    Interesting enough, I was able to reproduce the situation in my Northgale database, which is an inflated version of Northwind, and where statistics should be accurate.
    SELECT TOP 10 * FROM Orders WHERE EmployeeID = 8
    results in a CI scan, and so does also EmployeeID = 7, and even 5. There are only 2292 rows out of a total of 344305 rows. If I try EmployeeID 808 for which there are 1797, the optimizer goes for the index seek.
    Erland Sommarskog, SQL Server MVP, [email protected]

  • Table name or report to download materials for storage location

    Hi ,
    Please let me know table name or report or tcode to download material for storage location . I know MARD only. Apart from that table any other please let me knw
    Thanks in advance
    Smitha

    Hello,
    For Material , Plant and storage location report, in SAP Std reports are available.
    1)MC.6
    2)MC.9
    3)MB5b
    4)MB52
    or else get directly from table MARD through SE16 tcode.
    Regards
    Mahesh Naik

  • Shipping conditions not determined for 'Vendor return PO'.

    Dear Frens,
    I have completed successfully vendor return process CONFIG.
    Still system is not determining the Shipping details in PO.
    I created Plant without copying from standard plant. Any settings missing due to this?
    What might be the reason, can please advise.
    Regards.. RAMAN.

    Please find the Error details as below:;
    Regards,, RAMAN
    No shipping data could be found for item 00010
    Message no. ME393
    Diagnosis
    The system attempted to determine certain shipping data for returns item 00010 (e.g. the responsible sales organization and the shipping point). However, the system was not able to find the relevant information.
    Possible reasons:
    The vendor's customer number does not exist
    The material master record does not exist or has been flagged for deletion
    The data on the sales organization, the distribution channel or the division is missing for the plant
    a shipping point could not be determined
    Procedure
    If the message is a warning, you can continue your processing.
    If it is an error message, you cannot do so.
    If necessary, check the settings for the plant in Customizing for Logistics (General).

  • FM for item condition values in RFQ

    Hi,
         I have a RFQ number. now the i want a function module which will return me the item condition values ( eg freight,gross price etc).
         i have gone through a FM named 'PRICING' but thats not helping me
          any help

    Hi,
         I have a RFQ number. now the i want a function module which will return me the item condition values ( eg freight,gross price etc).
         i have gone through a FM named 'PRICING' but thats not helping me
          any help

  • 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.

Maybe you are looking for