Pricing based on the characteristic value of the variant

Dear experts ,
I have a material that has source inspection active .
Its inspection characteristics are P1 & P2  depending on the value of which the net price changes.
When a PO is created , quality inspection lot is generated , result recording is done where the value of P1 & P2 are entered .
GR is done .
Now based on the value of P1& P2 correct price shud be picked at the time of GR.
Is this possible ?
Regards
Anis

Dear Anis,
This is very much possible. In fact dairy industry works on the same principle. The pricing takes place only after Inspection lot characteristics are posted.
This is long exercise, wherein you need to maintain certian special condition types and access sequences. You can get more information at buidling block library Link: [http://help.sap.com/bp_bblibrary/600/BBLibrary_Start.htm]
Check G95: Dairy procurement.
Hope this helps.
Amit

Similar Messages

  • Changing the Characteristic Values on the Query

    Hello Masters of the BW Domain
    Is there a way to display the values of a characteristic in a report based on a condition?  I have a characteristic called Rebates with only 2 valid values (Y and N).  Instead of showing it as Y and N, I want them displayed as "With Rebate" for Y and "No Rebate" for N.  Is it possible to do this without changing the underlying data in the cube and doing the translation at the query level?  Would it require a user exit to accomplish this?  All the user exits that I've run into only dealt with dates and not with transforming text values.

    As Paolo suggested you can add text for the info object. Else if you are using BW Web Reports you can use the Table API(similar to user exit) to do the conversion.
    case i_iobjm .
      when 'rebates'.
        if i_value = 'y'
          c_cell_content = 'With rebate'.
        elseif i_value = 'N'
          c_cell_content = 'With rebate'.
        endif.
    endcase
    *Please check for the syntax.
    If you are using BEx, VB macros will be an option.
    The best approach will be to store text for the info object.
    Thanks.

  • Ordering Characteristic Values in the order that you restrict them

    Hi SAP Network,
    I have created a BEx query and used up the 2 structures in the Rows area.
    I have then placed a characteristic in the columns area and restricted the characteristic .
    This characteristic in essence acts like a third structure.
    The ordering of the characteristic values when the query is executed is by alphabetical order.
    Are you aware if it is possible to have the same order displayed, as to which you drag the characteristic values onto the characteristic, ie. in the order that you choose.
    Thank you in advance.
    Simon

    Hi there,
    No it is not possible to make the characteristics sort by the order in which you restricted them.
    One weay you could achieve this is by having a sequence navigational attribute (example values: 1,2,3,4,5,6,7 etc)  and in the sorting of your characteristic use sort by attribute.
    Best Regards
    Mark

  • Characteristic values for the material and plant combination...

    Hi Friends,
    I would like to know how can we maintain the characteristic values for the combination of Material and Plant though the material is not batch managed?
    Thanks in advance,
    Ram

    Hi Rajendra,
    Thanks for quick reply. I am maintaining under classification view but it does not ask plant any where. So the value will be same across all the plants but i want to maintain characteristic values separately under each plant for same material.
    Regards,
    Ram

  • Which table the characteristic values of accounting based COPA are stored?

    Hi Guru,
    we are using Accounting based COPA. we need to generate a report based on the characteristic values updated while posting to revenue accounts.
    i searched the CE4XXXX and COSP tables but i am unable to get the results. COSP is not havinf the the revenue GL accounts  PA characteristics.
    CE4XXXX is not having the the PAOBJNR(profitability object no) updated in BSEG for the revenue accounts.
    from which table can i capture the characteristic values for  a line item posted in BSEG.
    regards
    Jaya

    HI
    refer CE4XXXX_ACCT for account based COPA
    The function module to read chars from PSG is RKE_GET_CHARS_FOR_PAOBJNR
    Regards
    Ajay M

  • Freight Calculation based on the net value of the Line item

    Hi SAP Gurus,
    I have one requirement for Freight calculation(Sales order is created through an IDOC) :
    In the idoc,we will receive a freight dollar amount - which will be the total amount of freight.(example 100)
    We will also receive sales dollar for each line item ,which is then passed to the pricing procedure, for a total amount of sales for that Sales order.
    (examples below, for a total of 1500)
    The 100  is to be posted to a freight G/L account.
    The 100 is further divided by each profit center  of the materials on the Sales order.
    The freight is split out amongst the  profit center , based on the net value of the line item.
    Freight value to be allocated = Line item value/total value of the sales order * Freight amount.
    Total of the sales order =1500
         Line item value     Freight value calculation     Profit center
    Material A:      800          800/1500*100  = 53     Profit center A
    Material B:     500          500/1500*100  = 33     Profit center B
    Material C:      200          200/1500*100  = 13     Profit center C
    Please let me know how to achieve this functionality in pricing procedure or what changes i need to make in Freight condition type.
    Thanks in advance,
    Bhakar Saha

    Were you able to resolve this issue of allocating freight costs to line items/profit centers using the net value of the line items?

  • How to change the characteristic value in a item of sales order by FM?

    Hi experts,
    I guess the FM BAPI_SALESORDER_CHANGE can implement my requirement. But I have made many testing program, that's all failed. I don't know which part is not correct. So could you give a very simple sample to me? Just change the characteristic value in a item of sales order, not do any change for other parts. Thanks in advanced.
    Regrads

    Hi Birendra,
    Thanks for you explain. I follow your guide to wirte abap program. But related characteristic value still not changed in SO main screen. could you give me some suggestion? Thanks a lot!
    type-pools: IBCO2,
                IBXX.
    data: l_CUOBJ type CUOBJ_VA,
          l_ibase type IBCO2_IBASE_REC,
          l_CONFIGURATION type IBCO2_INSTANCE_TAB2,
          w_CONFIGURATION type IBCO2_INSTANCE_REC2,
          l_ROOT_OBJECT type IBXX_BUSINESS_OBJECT.
    data: t_IBCO2_VALUE_TAB type IBCO2_VALUE_TAB,
          w_IBCO2_VALUE_REC type IBCO2_VALUE_REC.
    select single CUOBJ
      into l_CUOBJ
      from VBAP
      where VBELN = '0020030609'
        and POSNR = '000020'.
      CALL FUNCTION 'CUCB_GET_CONFIGURATION'
        EXPORTING
          INSTANCE                           = l_CUOBJ
        IS_BUSINESS_OBJECT                 =
        IV_MOMENT                          =
        IV_WITH_DB_INSTANCE                =
       IMPORTING
         IBASE                              = l_ibase
         CONFIGURATION                      = l_CONFIGURATION
        EO_CBASE_REF                       =
      EXCEPTIONS
        INVALID_INPUT                      = 1
        INVALID_INSTANCE                   = 2
        INSTANCE_IS_A_CLASSIFICATION       = 3
        OTHERS                             = 4
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    loop at l_CONFIGURATION into w_CONFIGURATION.
      l_ROOT_OBJECT = w_CONFIGURATION-OWNER.
    t_IBCO2_VALUE_TAB[] = w_CONFIGURATION-values[].
      read table w_CONFIGURATION-values into w_IBCO2_VALUE_REC with key ATINN = '0000000222'.
      w_IBCO2_VALUE_REC-ATWRT = 'TMP'.
      modify w_CONFIGURATION-values from w_IBCO2_VALUE_REC index sy-tabix.
      modify l_CONFIGURATION from w_CONFIGURATION index 1.
      clear: w_CONFIGURATION.
    endloop.
    CALL FUNCTION 'CUCB_SET_CONFIGURATION'
      EXPORTING
        ROOT_INSTANCE                      = l_CUOBJ
      IS_CBASE_HEADER                    =
      CHANGING
        CONFIGURATION                      = l_CONFIGURATION
    EXCEPTIONS
      INVALID_INPUT                      = 1
      INVALID_INSTANCE                   = 2
      INSTANCE_IS_A_CLASSIFICATION       = 3
      OTHERS                             = 4
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL FUNCTION 'CUCB_CONFIGURATION_TO_DB'
      EXPORTING
        ROOT_INSTANCE                       = l_CUOBJ
        ROOT_OBJECT                         = l_ROOT_OBJECT
      FORCE_NEW_INSTANCE                  =
      IV_WITHOUT_COMMIT_UPDATE            = ' '
      IV_MATERIAL                         =
      IV_LOCATION                         =
      IV_TECHS                            =
    IMPORTING
      NEW_INSTANCE                        =
    TABLES
      EXP_NEW_NESTED_CUOBJS               =
    EXCEPTIONS
      INVALID_INSTANCE                    = 1
      INVALID_ROOT_INSTANCE               = 2
      NO_CHANGES                          = 3
      ALREADY_REGISTERED_FOR_UPDATE       = 4
      INSTANCE_IS_A_CLASSIFICATION        = 5
      OTHERS                              = 6
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

  • Change field value in a table, based on another field value in the same row (for each added row)

    Please Help, I want to change field value in a table, based on another field value in the same row (for each added row)
    I am using this code :
    <HTML>
    <HEAD>
    <SCRIPT>
    function addRow(tableID) {
    var table = document.getElementById(tableID);
    var rowCount = table.rows.length;
    var row = table.insertRow(rowCount);
    var colCount = table.rows[0].cells.length;
    for(var i=0; i<colCount; i++ ) {
    var newcell = row.insertCell(i);
    newcell.innerHTML = table.rows[1].cells[i].innerHTML;
    switch(newcell.childNodes[0].type) {
    case "text":
    newcell.childNodes[0].value = "";
    break;
    case "checkbox":
    newcell.childNodes[0].checked = false;
    break;
    case "select-one":
    newcell.childNodes[0].selectedIndex = 0;
    break;}}}
    function deleteRow(tableID) {
    try {var table = document.getElementById(tableID);
    var rowCount = table.rows.length;
    for(var i=0; i<rowCount; i++) {
    var row = table.rows[i];
    var chkbox = row.cells[0].childNodes[0];
    if(null != chkbox && true == chkbox.checked) {
    if(rowCount <= 2) {
    alert("Cannot delete all the rows.");
    break;}
    table.deleteRow(i);
    rowCount--;
    i--;}}}catch(e) {alert(e);}}
    </SCRIPT>
    </HEAD>
    <BODY>
    <INPUT type="button" value="Add Row" onClick="addRow('dataTable')" />
    <INPUT type="button" value="Delete Row" onClick="deleteRow('dataTable')" />
    <TABLE id="dataTable" width="350px" border="1">
    <TR>
    <TD width="32"></TD>
    <TD width="119" align="center"><strong>Activity</strong></TD>
    <TD width="177" align="center"><strong>Cost</strong></TD>
    </TR>
    <TR>
    <TD><INPUT type="checkbox" name="chk"/></TD>
    <TD>
    <select name="s1" id="s1">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    </select>
    </TD>
    <TD><input type="text" name="txt1" id="txt1"></TD>
    </TR>
    </TABLE>
    </BODY>
    </HTML>

    Hi,
    Let me make sure u r working with table control.
    First u have to create a event(VALIDATE) to do the validation.
    Inside the event,
    1. First get the current index where user has pointed the curson
    2. Once u get the index read the internal table with index value.
    3. Now u can compare the col1 and col2 values and populate the error message.
    1. DATA : lo_elt TYPE REF TO if_wd_context_element,
                   l_index type i.
    lo_elt = wdevent->get_context_element( name = 'CONTEXT_ELEMENT' ).
         CALL METHOD LO_ELT->GET_INDEX( RECEIVING  MY_INDEX = l_index.
    above code should be written inside the event.
    Thanks,

  • No characteristic value of the material in PO

    Hi,
    I am testing the configuration material. I've maintianed a class of class type 200 in BOM, and get the PR after running MRP. No any field or view in PO to display the characteristic value of material. How to get it? I thought it should be display somewhere in PO and in the GR view, because the buyer should know what product they should get and the inspector should know what should be inspect and the pass level.
    Thanks!

    Hello,
    I checked all the tab in PO and PR, but no any icon to see the characteristic.
    I've created a PO for a material which was maintain a class of class type 001, then I've seen the icon 'configuration'.
    Is it necessary to maintain a class of class type 001 for the material related class item in BOM? The on line help told that could create some materials with different characteristic value of one characteristic assigned to a class of class type 200, then maintain this class in BOM. System will pick the right material according to the characteristic value in SO.
    I am confused that why have to create some materials to do that because this application is to reduce redundance of material. I thought one material is enought, which will be required by the characteristic value and taking this value in PO. Do I have to maintain the class 001 for this? If yes, how can I get the characteristic value of class 001 from same charactieristic in the class 002?
    Lin
    Edited by: liang_yielin on May 18, 2010 11:46 AM

  • Using Shading Dictionary to perform shading in pdf,before that the shading dictionary call from Pattern Dictionary.In the Pattern Dictionary there is an Matrix based on the matrix value  location the shading operatihow the axial shading is preserve in pdf

    using Shading Dictionary to perform shading in pdf,before that the shading dictionary call from Pattern Dictionary.In the Pattern Dictionary there is an Matrix based on the matrix value  location the shading operation is perform,So i dont know how to calculate value of pattern Dictionary matrix value.
    10 0 obj
    << /Type /Pattern
    /PatternType 2
    /Shading 11 0 R
    /Matrix [1.00 .00 .00 1.00 54.00 53.00]  // the matrix value how to calculate
    >>
    11 0 obj
    <<
    /ColorSpace /DeviceRGB
    /Function 12 0 R
    /ShadingType 2
    /Coords [109.2726 69.00 109.2726 .00]
    /Extend [true true]
    >>
    12 0 obj
    <<
    /FunctionType 0
    /Domain [.00 1.00]
    /Range [.00 1.00 .00 1.00 .00 1.00]
    /Size [1002]
    /BitsPerSample 8
    /Length 3006
    >>
    stream
    here is an stream of colors
    endstream
    endobj
    Can anybody help me please.
    Regards, Sasi kumar sekar.

    Hi, Sasi -
    The Matrix maps coordinates in your shading dictionary into User Space. That is, the Matrix entry in the Pattern dictionary specifies a coordinate transformation that will be applied to coordinates specified in the shading dictionary.
    To take your example, you have an axial shading extending from (rounding off) 109,69 to 109,0.  Your Pattern dictionary specifies the Matrix
    [ 1  0  0  1  54  53 ]
    This transformation matrix corresponds to a scale of 1,1 (that is, no change in scale) and a translation of 54,53. Thus, the actual endpoints for the axial shading will be the User Space positions 163,122 and 163,53 (assuming I’ve added correctly).
    As to what values to use for your Matrix, it depends on how you’ve set up your Shading dictionary. If the coordinates you’ve specified are actually where you want the gradient to go, then just use an identity matrix
    [ 1  0  0  1  0  0 ]
    By the way, are you sure that the Pattern dictionary includes a Matrix entry? I seem to remember (it's been a while since I've looked at Patterns) that the matrix is supplied as an argument to the makepattern operator:
    <<patternDict>> [ 1 0 0 1 0 0 ] makepattern
    Hope that helps.
    - John Deubert
      Acumen Training
      PostScript and PDF
      Training & Consulting

  • Mandatory entry in the Characteristic value - CT04

    Hello Folks,
    I created a new characteristic (classification view) for the material master, and I am trying to put the characteristic value as mandatory entry . Is it possible ?
    Any answer will be very helpfull,
    Regards,
    Flavio Marcilio

    Dear Flavio Marcilio,
    In IMG under Logistics General -> Material Master -> Field Selection
    or
    You can maintain a transaction variant where in you can specify whether the fields are optional, display only, required entry, suppressed.
    http://help.sap.com/saphelp_webas620/helpdata/en/eb/5fab41d79b11d296190000e82de14a/content.htm
    In the SAP Reference IMG, you can create transaction variants. Choose Basis Components -> Application Personalization -> Tailoring of Application Transactions -> Configure Transaction-Related Display Values for Fields (Transaction SHD0). Transaction variants allow you to preset values for fields in a transaction, set field attributes, or hide entire screens.
    To execute a transaction variant, you define a variant transaction using the Transaction Maintenance transaction (SE93).
    Once you have entered a transaction code and short description, choose transaction type Transaction with variant (Variant transaction).
    To define a variant, enter the name of the transaction and the name of the variant. You can then use the new transaction code to start the special variant of the transaction.
    Hope this will help.
    Regards,
    Naveen.

  • When we run query how it gets the characteristic values and attributes.

    Hi,
    When we load transaction data it chacks characteristic values then SIDs then DIM IDs then insert  DIM IDs into fact table but when we run the query how it checks and gets the characteristic values and attributes.
    Bye
    GK

    when we run the query how it checks and gets the characteristic values and attributes.
    Just the opposite way you have described. It gets from the corresponding masterdata tables, with the connected SID.

  • How can I access the Attribute Values from the Search Region

    Hi all,
    I have a table which contains Company id, department id, and PositonId. For a particular Company and Department there may be multiple records.
    I have to pupulate a table which contains the position and other details that comes under a particular Department and Position based on the selection in the Three comboBoxes.
    Also I have to populate a select many Shuttle to add new postions and records under a particular Department.
    I created a query panel *(Search Region)* for the serch and a table to display the data. That is working fine.
    Now the issue is I am using a view criteria to populate the shuttle with two bind variables ie, DepartmentId and CompanyId.
    If the serach will return a resuktant set in the table it will also pupulate the correct records, otherwise ie, if the if the serch result is empty the corresponding iterator and the attribute is setting as null.
    SO I want to access the attribute values from the Search Region itsef to populate the shuttle.
    I don't know how can I access the data from the Search Region.
    Please Help.
    Regards,
    Ranjith

    you could access the parameters entered in search region by the user as follows:
    You can get handle to the value entered by the user using queryListener method in af:query.
    You can intercept the values entered as described
    public void onQueryList(QueryEvent queryEvent) {
    // The generated QueryListener replaced by this method
    //#{bindings.ImplicitViewCriteriaQuery.processQuery}
    QueryDescriptor qdes = queryEvent.getDescriptor();
    //get the name of the QueryCriteria
    System.out.println("NAME "+qdes.getName());
    List<Criterion> searchList = qdes.getConjunctionCriterion().getCriterionList();
    for ( Criterion c : searchList) {
    if (c instanceof AttributeCriterion ) {
    AttributeCriterion a = (AttributeCriterion) c;
    a.getValues();
    for ( Object o : a.getValues()){
    System.out.println(o.toString());
    //call default Query Event
    invokeQueryEventMethodExpression("#{bindings.ImplicitViewCriteriaQuery.processQuery}",queryEvent);
    public void onQueryTable(QueryEvent queryEvent) {
    // The generated QueryListener replaced by this method
    //#{bindings.ImplicitViewCriteriaQuery.processQuery}
    QueryDescriptor qdes = queryEvent.getDescriptor();
    //get the name of the QueryCriteria
    System.out.println("NAME "+qdes.getName());
    invokeQueryEventMethodExpression("#{bindings.ImplicitViewCriteriaQuery.processQuery}",queryEvent);
    private void invokeQueryEventMethodExpression(String expression, QueryEvent queryEvent){
    FacesContext fctx = FacesContext.getCurrentInstance();
    ELContext elctx = fctx.getELContext();
    ExpressionFactory efactory = fctx.getApplication().getExpressionFactory();
    MethodExpression me = efactory.createMethodExpression(elctx,expression, Object.class, new Class[]{QueryEvent.class});
    me.invoke(elctx, new Object[]{queryEvent});
    Thanks,
    Navaneeth

  • About the validNotAfter value of the certificate SAPLogonTicketKeypair-cert

    I am configuring the SSO between the Enterprise Portal (NW04s based) and ECC 6.0 integrated ITS. During the SSO configuration we can specify a "valid to" date for the SAPLogonTicketKeypair. It will be stored in the certificate as the validNotAfter value.
    As I can see in the “Key and Certificate Generation” screen, SAP only uses two digits to represent the year in the "valid to" field (e.g. 7/18/07 11:06AM). If I set the "valid to" date to 7/18/50, after creating the certificate, we can see that the validNotAfter date becomes 7/18/1950! If I set it to 7/18/49, then it will be 7/18/2049.
    Yes, we can set four digits (e.g. 7/18/2099) for the field "valid to" when creating the logon ticket key pair. And the certificate will be created with validNotAfter time with 2099. But actually, if I import the certificate to ECC system via transaction STRUSTSSO2, the SSO does not work.
    I did some test with the value of the "valid to", and verified the SSO between Portal and ECC integrated ITS. Here are the results:
    Valid To: 7/18/28
    SSO result: successful
    Valid To: 7/18/2099
    SSO result: failed
    Valid To: 12/31/49
    SSO result: failed
    Valid To: 7/18/28  (I set the date/time back to the same with the first test in order to confirm that the SSO is still working)
    SSO result: successful
    My question is that what's the last date for the validNotAfter value in the SAPLogonTicketKeypair certificate which supports the SSO? According to my test results, it should be a date between 2028 and 2049.

    I have got the answer for my question. SAP Note 550742 and 499386 mentioned the year. Self-signed certificates are generated with longer validity periods (up to the year 2038).

  • "An error occurred while attempting to retrieve the KPI value from the list"

    Hi all.
    when I used KPI, this error occured:
    An error occurred while attempting to retrieve the KPI value from the list
    what happened?
    any suggestion.
    thanks.

    Hello,
    Unfortunatly, I don't have the option to re-create my SP list.  I have created my KPI list in the same site as the targeted list.  I have made all items available in the list view, I've tried several different list views, I still get the
    An error occurred while attempting to retrieve the KPI value from the list.
    message. 
    I am at a loss here, I've search the internet high a low and haven't found any helpful info. 
    In MOSS 2007 I've created a list with about 24 columns.  I need a KPI based on one of the columns.  I've tried to creat a view with that one column, I've tried to creat a view with all columns
    and make it the defualt column...  I don't know what else to try here.
    Any help would be very appriciated!
    Cheers,
    ~Bryan

Maybe you are looking for