Batch Classification Values not getting changed

Hi Gurus,
I am using the following bapi ( BAPI_OBJCL_CHANGE ) to change Batch classification values Eg: Cut clarity etc.
when i pass these values thru the function module in the program it is not getting changed while when i change it through msc2n it gets changed successfully...
I have passed the following values in the parameters of the bapi :
OBJECTKEY            = v_objectkey          
OBJECTTABLE        = 'MCH1'          
CLASSNUM             = V_CLASSNUM 
CLASSTYPE           = '023'
KEYDATE                = 30.04.2010
ALLOCVALUESCHARNEW
CHARACT = CLARITY
VALUE_CHAR =  P040
VALUE_NEW   = P040.
Can some one help me solve this....
Needed urgently..
Edited by: NAVIN FERNANDES on Apr 30, 2010 12:31 PM
Edited by: NAVIN FERNANDES on Apr 30, 2010 12:32 PM

Hi Jacky,
I am posting the code here.. Do let me know if u have ne queries:
REPORT  ZNAVBATCH.
SELECTION-SCREEN BEGIN OF BLOCK B1.
PARAMETERS: P_MATNR TYPE MATNR,
            P_CHARG TYPE CHARG_D,
            P_WERKS TYPE WERKS_D,
            P_LGORT TYPE LGORT_D.
SELECTION-SCREEN END OF BLOCK B1.
START-OF-SELECTION.
  DATA: WA_BATCH TYPE BAPI1003_OBJECT_KEYS,
        WA_ALLOCCHAR TYPE BAPI1003_ALLOC_VALUES_CHAR,
        WA_ALLOCVAL TYPE BAPI1003_ALLOC_VALUES_NUM,
        INT_BATCH TYPE STANDARD TABLE OF BAPI1003_OBJECT_KEYS,
        INT_RET1 TYPE STANDARD TABLE OF BAPIRET2,
        INT_RET2 TYPE STANDARD TABLE OF BAPIRET2,
        INT_RET3 TYPE STANDARD TABLE OF BAPIRET2,
        LV_KEY TYPE BAPI1003_KEY-OBJECT,
        INT_ALLOCVAL TYPE STANDARD TABLE OF BAPI1003_ALLOC_VALUES_NUM,
        INT_ALLOCCHAR TYPE STANDARD TABLE OF BAPI1003_ALLOC_VALUES_CHAR,
        INT_ALLOCCURR TYPE STANDARD TABLE OF BAPI1003_ALLOC_VALUES_CURR.
  WA_BATCH-KEY_FIELD = 'MATNR'.
  WA_BATCH-VALUE_INT = P_MATNR.
  APPEND WA_BATCH TO INT_BATCH.
  WA_BATCH-KEY_FIELD = 'CHARG'.
  WA_BATCH-VALUE_INT = P_CHARG.
  APPEND WA_BATCH TO INT_BATCH.
  CALL FUNCTION 'BAPI_OBJCL_CONCATENATEKEY'
    EXPORTING
      OBJECTTABLE    = 'MCH1'
    IMPORTING
      OBJECTKEY_CONC = LV_KEY
    TABLES
      OBJECTKEYTABLE = INT_BATCH
      RETURN         = INT_RET1.
  IF SY-SUBRC = 0.
   WRITE: 'SUCCESSFUL'.
    CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'
      EXPORTING
        OBJECTKEY              = LV_KEY
        OBJECTTABLE            = 'MCH1'
        CLASSNUM               = 'ZTBATCHCHR'
        CLASSTYPE              = '023'
        KEYDATE                = SY-DATUM
      UNVALUATED_CHARS       = ' '
      LANGUAGE               = SY-LANGU
    IMPORTING
      STATUS                 =
      STANDARDCLASS          =
      TABLES
        ALLOCVALUESNUM         = INT_ALLOCVAL
        ALLOCVALUESCHAR        = INT_ALLOCCHAR
        ALLOCVALUESCURR        = INT_ALLOCCURR
        RETURN                 = INT_RET2
    IF SY-SUBRC = 0.
      WRITE : 'SUCCESSFUL'.
      READ TABLE INT_ALLOCCHAR INTO WA_ALLOCCHAR WITH KEY CHARACT = 'CLARITY'.
      IF SY-SUBRC = 0.
        WA_ALLOCCHAR-VALUE_CHAR = 'C02'.
        WA_ALLOCCHAR-VALUE_NEUTRAL = 'C02'.
        MODIFY INT_ALLOCCHAR FROM WA_ALLOCCHAR INDEX SY-TABIX TRANSPORTING VALUE_CHAR VALUE_NEUTRAL.
      ENDIF.
      CALL FUNCTION 'BAPI_OBJCL_CHANGE'
        EXPORTING
          OBJECTKEY                = LV_KEY
          OBJECTTABLE              = 'MCH1'
          CLASSNUM                 = 'ZTBATCHCHR'
          CLASSTYPE                = '023'
         STATUS                   = '1'
         STANDARDCLASS            =
         CHANGENUMBER             =
         KEYDATE                  = SY-DATUM
         NO_DEFAULT_VALUES        = ' '
       IMPORTING
         CLASSIF_STATUS           =
        TABLES
          ALLOCVALUESNUMNEW        = INT_ALLOCVAL
          ALLOCVALUESCHARNEW       = INT_ALLOCCHAR
          ALLOCVALUESCURRNEW       = INT_ALLOCCURR
          RETURN                   = INT_RET3
      IF SY-SUBRC = 0.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
         EXPORTING
           WAIT          = 'X'
        IMPORTING
          RETURN        =
        IF SY-SUBRC = 0.
          WRITE: 'SUCCESSFUL'.
        ENDIF.
      ENDIF.
    ENDIF.
ENDIF.

Similar Messages

  • Batch Classification data not getting updated during the GR of the PO

    Dear Gurus,
    While doing the GR of the Purchase order the classification data for the batch should get updated .However we can see those data in MSC2N (Change batch) but not in MSC3N (Display Batch) .While consultuing with SAP we found that the data in MSC3N is directly picked in the AUSP table but the data in MSC2 N  reads the information directly from the
    reference table field (MCH1-LWEDT & MCH1-LIFNR .My Qusetion is why this the AUSP entries are not getting updated during the GR itself.
    Sumit Mohan

    Hi Sumit,
    I am not sure about your question, but if you want to populate the classification data during goods receipt then you need to maintain characteristics values in material master for classification tab under class type batch i.e. 022. After then it will apper during goods receipt for characteristics value for batch.
    Regards,
    Bhagat

  • Drop down field in ALV values not getting changed

    Hi All.
    I have created an  drop down by key in ALV and I am initialising and filling the values in drop down in Modify view.
    When I am executing the application for the first time the values fill in fine in the drop down. However based on user selection the value in drop should changed. Keep in mind all the rows added in ALV should show the same values in drop down.
    Now the issue is when ever user changes the value but the drop values which were set initially does not changes.
    In other words if user selects supplier A the values for all rows in drop down shows as
    A
    B
    C
    But if user selects supplier B the values for all rows in drop down should changed to 
    X
    Y
    Z
    unfortunatley it still shows values as A,B,C .
    I have checked while debugging and values are changed based on condition but when I set them back in ALV using set_attribute_value_set it does not shows the new values.

    Hello Shakthi,
    The easier option would be to convert the DropDownByKey to DropDownByIndex. If you still want to proceed with DropDownByKey then you need to initialise the ALV data again.  do the following
    1. after changing the attribute-value_set, call the ALV interface controller method SET_DATA and pass the instance of the context node.
    2. reintiliase all the ALV settings like edit mode, converting the column editor to DropDownByKey etc....
    This will ensure the new attribute value set is reflected in the ALV component.
    BR, Saravanan

  • Open Sales Order values not getting updated after run RVKRED77 & RVKRED88

    Hiiii,
    In Production Server. We run the reports RVKRED77 & RVKRED88. Credit info structure and and Open Sales Order values not getting updated. In FD32, Status - Sales value it showing '0". At the time of creating Sales Order Dynamic Credit check not happening coz of Tables S066 not updating. Please provide me Solution.
    Best Regards,
    Sridhar . P

    Dear Heagal,
    I followed your suggestions and implemented in the Development and moved the changes in to Quality Server. I tested it thoroughly by creating New Customer and maintained Credit Limit. I come to know that Problem is in all Servers. I made 3 changes.
    1. In Pricing Procedure Sub Total A it was not maintained against Net value. I placed it.
    2. Removed Credit groups for Delivery Type.
    3. In OVA8 i maintained Max. Doc Value :99,999,999.00 before it was with 1.00
    I checked the OMO1 Settings it was Asynchronous. As SAP Notes Suggesting to use Synchronous but here it's a client setting. So, It's Can't possible to change. Changes will affect other Company Codes.
    Tested both in DVP and QTY Dynamic Credit Check is working Perfectly and Status in FD33 Sales Value field getting update.
    If i move these changes in to Production, Will i need to run the reports again or not? How it will affect on Old Cusomer Billing and  Credit Limit data. For few of the Customers the Credit Limit data it was exceeded. Please provide me advice. The issue need to be Solved immediately.
    Best Regards,
    Sridhar

  • Consumption values not getting updated on the material mastere

    HI Gurus,
    can anbody please explain me the reason why the consumption values not getting updated on the material master. What kind of movements qualify to get updated on the material master? is it 261, 101, 701 and 702 etc only? or any movement that means issues, receipts etc? I just happened to see a few materials which had some movements occur in the past but they did not get updated on the material master. These materials used to have ND MRP type until recently and these were changed to VM few days agao. could this be a reason? Please throw some ligjht on this. Helpful replies will be appreciated
    Thanks
    Anushga

    Dear ,
    Use tcode - OMJJ and then do the following setting -
    for movement - 261,262, 201 and 202
    Statistically relev. - 2
    Consumption posting - R
    for movement - 701 and 702
    Statistically relev. - 2
    Abhinay
    Edited by: Abhinay Sachan on Sep 10, 2010 1:38 PM

  • VALUES NOT GETTING ADDED IN JAVA DICTIONARY

    HIII ,
    AM DOING AN APPLICATION IN WHICH I AM TRYING TO INSERT VALUES IN A TABLE(CREATED THRU JAVA DICTIONARY), USING EJBS(ENTITY BEAN AND SESSION BEAN) AND COMMAND BEAN..AND WEBDYNPRO....
        AFTER DEPLOYMENT EVRYTHNG IS RUNNING FINE BUT VALUES NOT GETTING ADDED IN THE TABLE...
    THE CODE FOR THE "ADD" BUTTON IS :
    wdContext.currentEmp_cmdElement().modelObject().add(wdContext.currentEmp_cmdElement().getEmpno(),wdContext.currentEmp_cmdElement().getEmpname());
    THE CODE FOR ADD function IN COMMANDBEAN IS
    public void add(String empno,String empname){
              try {
                     local.createdata(empno,empname);
                   } catch (Exception e) {
                        e.printStackTrace();}
    PLZZ DO HELP OUT!!!

    The message in simple English just means that "You are doing something really bad" !!! It is absolutely not the communication problem, but understanding problem.
    Though you may be executing the same function using SE37 or in the webshop application through JCo, the runtime context is different and without knowing what exactly your Z rfc is doing, it is very difficult to help. To start with, the userid - that is who is running the RFC is different in both situations. In SE37, it is the logon user and in the web, depending upon whether the connection is stateless or stateful, it could be the anonymous ICSS user or the logged in user. Here again, if you have used UME, it is the user id and if you have used ALIAS user, then it is the alias user id. This is just an example. Your runtime context can be different due to many other reasons too.
    So, to make this simpler - what is that you are trying to do?
    BTW, try not to create multiple threads for the same issue..

  • Inspection Lot status not getting changed to LTCA from REL for SubCon scenario

    Dear All,
    For ERSA material 01 inspection type is active with indicator Post to inspection stock only as it can be purchased. No other indicator is set.
    This material can be sent for repairing outside with DAMAGE valuation type (stock provided to Vendor with DAMAGE valuation type).
    For SubCon scenario, Purchase Order with Account Assignment Category F and Item Category L has been created.
    Once GR using MB01 with 101 movement, consumption posting takes place and as Insp type 01 is active Inspection lot is getting created with status REL CALC.
    At this time, DAMAGE stock against Vendor is getting reduced with Qty of 543 movement.
    Now when, reversal 102 with MB01 is done against Purchase Order and details are adopted with reference to 101 material document, reversal is taking place, but at the same time respective material doc's Inspection lot status is not getting changed to LTCA. It remains REL only.
    For 122 return to Vendor using MBRL also, Insp lot status is not getting changed.
    Has anybody faced such issue? Is this standard SAP?
    Kindly throw light on the process, is correct process followed?
    Regards,
    Tanuj Parikh

    Thanks.
    Thru MBST Inspection Lot status changed to LTCA.
    Why system is not cancelling thru MB01? 

  • PO line item condition not getting changed

    I am trying to change one condition in PO line item via BAPI_PO_CHANGE. It is not getting changed.
    But the return message says Ind. limited tend PO 7100076060 changed, S (type),06 (ID), 023(Number).
    The code is
    zpo_cond-condition_no  =  itab-knumv. (1001384871)
    zpo_condx-condition_no =  itab-knumv.(1001384871)
    zpo_cond-cond_st_no   =  itab-stunr.(960)
    zpo_condx-cond_st_no  =  itab-stunr.(960)
    zpo_condx-cond_st_nox = 'X'.
    zpo_cond-cond_count   =  itab-zaehk .(01)
    zpo_condx-cond_count  =  'X'.
    zpo_cond-itm_number   = itab-ebelp.(000010)
    zpo_condx-itm_number  = itab-ebelp.(000010)
    zpo_condx-itm_numberx = 'X'.
    zpo_cond-cond_type  =  itab-kschl.(ZI%)
    zpo_condx-cond_type  = 'X'.
    zpo_cond-cond_value =  p_per.(6.000000000)
    zpo_condx-cond_value =  'X'.
    zpo_cond-cond_p_unt  = punit .
    zpo_condx-cond_p_unt = 'X'.
    zpo_cond-cond_unit =  unit.
    zpo_condx-cond_unit = 'X'.
    zpo_cond-change_id = 'U'.
    zpo_condx-change_id = 'X'.
    APPEND zpo_cond.
    APPEND zpo_condx.
          CALL FUNCTION 'BAPI_PO_CHANGE'
             EXPORTING
               purchaseorder                = zpo_header-po_number
               poheader                     = zpo_header
               poheaderx                    = zpo_headerx
            TABLES
              return                        = l_return
              poitem                        = zpo_item
              poitemx                       = zpo_itemx
               pocond                       =  zpo_cond
               pocondx                      =  zpo_condx  .

    Hi,
    1)In po item give a unique no.(ex:0010) & ITEMX as a new line item with same no will be created.
    2) service No. will be system generated. Pass packno = variable(ex:= '0000000001' ),
    subpackno=variable +1 (ex: '0000000002' )
    thanks & regards.

  • Editable ALV- Quantity field value is getting changed while double clicking

    Hi all,
         I have created Editable ALV grid using Class concepts. Quantity field is editable in dat. but after changing value and if im double clicking on that field, value is getting changed. eg: 45 is changing to .045. How can i resolve this problem.
    Could u plz help.

    Hi Anu,
    One question from my side.
    U have displayed the ALV.In that grid u have quantity field.U have changed the value of that field to 45.
    When u press enter the value has been changed to .045.Is this u r problem.
    U can do onething anu.
    Declare one varaible with the local field.
    Pass u r quantity field value into that variable.
    While displaying thriugh SET_TABLE_FIRST_DISPLAY in your internal table pass this variable.
    It will solve u r problem.I think.
    Let me if yu have any problem
    IF u want u can refer to the program BCALV_EDIT* in se38.
    There also u have needful info
    Thanks,

  • Batch Management Indicator not getting set for material master

    Hi,
    In one of the material we need to mark the Batch Management Indicator in Material MAster. We had removed all the stocks from the material. But still we are getting error, Stock exists for the material in Plant XXX and Sloc YYY.
    I checked in MARD table and MMBE that for this maaterial there are no stock for said Sloca and Plant.
    One thing which I noticed in the Material Master and MARDH table that there exists some stock in Previous persiod for the said Sloc and Plant.
    Need to know is this error is due to stock shown in previous period. Why system is checking the previous period stock.
    How can we resolve our issue and check this Indicator.
    Please let me know as earliest as possible.
    Thanks
    SG

    Hi,
    Refer OSS Note 30656 - Change base unit of measure/batch mngt requirement
    Following are the details of this note;
    Symptom
    When maintaining a material master record, you change the base unit of measure or the batch management requirement indicator or the valuation category. The system then tells you that this change is not possible since stocks still exist. However, no stocks are shown for the material in the stock overview.
    Reason and Prerequisites
    The message that stocks still exist refers not only to stocks in the current period, but also to stocks in the previous period.
    The reason for checking previous period stocks is that postings can also be made to the previous period when entering goods movements. This would result in inconsistencies if the base unit of measure had meanwhile been changed.
    Solution
    Please check whether stocks still exist for the previous period by displaying, for example, the plant stock view or storage location stock view of the material. You do this by selecting "Extras -> Previous period -> Prev. pd SLoc. stock or Prev. pd plant stock".
    If previous period stocks exist, you can make a withdrawal posting as follows:
          1. Post the same amount to current period stock (for example, using movement type 561) so that previous period stock and current period stock are identical.
          2. Make a withdrawal posting in the previous period for the stock together with posting date (for example, using movement type 562).
    You can now try again to change the base unit of measure or the batch management requirement indicator.
    Since the posting of the previous period values to zero is identical with posting to the stocks of the current period, you should reverse the above stock postings (i.e. the stock from the previous period should be booked in again) to make sure that the stock values from the previous and the current periods correspond to the state before the change. Please note, however, that the postings are then carried out using the changed master data from the current period (e.g. account determination, etc.)
    Regards,

  • Batch characteristic value not populated!

    Hello guys,
    please would appreciate advice to following:
    I created two reference chars z_goods_receipt (MCH1-LWEDT) and z_created_on (MCH1-ERSDA). Chars assigned to material batch class. During GR in Classification Dates (chars values) are visible, but after GR is saved, in batch chars values are not populated.
    Consequently, I can not use these chars in sorting criterium for delivery batch determination - batches are not sorted acocrding to dates.
    Batches on material level. In Customizing (Classify batches within goods mvt), for mvt 101 setting is 4 (Classification always in foreground (all batches)) - but bug remains even if i try with other options. Check with developer shows not much help from EXIT_SAPMM07M_004 or EXIT_SAPMM07M_004 or EXIT_SAPLV01Z_012.
    Any idea how to populate these chars in batch?
    Alternatively, what else I could use in order to enable FIFO batch determination for batches in delivery?
    Thanks for prompt replies!
    Br, Jan

    Hello,
    SAP reply -standard behaviour. After save in MSC2n values read from MCH1, after that in MSC3N value read from AUSP.
    Issue solved using non reference charactereristic and adding code into ZXMBCU04.
    Br, Jan

  • Values not getting updated in table mvke

    Hi,
    I am working on a module pool program.In the o/p screen there are many records.If the user wants to change the field values of a particular record,he clicks on the checkbox besides that record and when he click on the change button,control goes to update screen.In this screen when the user changes the value of one particular field and click on the checkbox beside and then click on the execute button,the changed value of that field should get updated in that particular record in the database table.Here I want to update mvke and marc tables.
    I have used FM BAPI_MATERIAL_SAVEDATA to update the database tables.
    Only marc table is getting updated with changed values.mvke table is not getting updated.What would be the reason for this.
    I am sending a part of my code.Please check it.
    form move_mat_data .
    *Header
    gt_bapi_head-material = gs_output1-matnr.
    gt_bapi_head-ind_sector = gs_output1-mbrsh.
    gt_bapi_head-matl_type = gs_output1-mtart.
    gt_bapi_head-basic_view = 'X'.
    gt_bapi_head-purchase_view = 'X'.
    gt_bapi_head-account_view = 'X'.
    gt_bapi_head-sales_view = 'X'.
    *Client
    gt_bapi_client-matl_group = gs_output1-matkl.
    gt_bapi_client-base_uom = gs_output1-meins.
    gt_bapi_clientx-matl_group = 'X'.
    gt_bapi_clientx-base_uom = 'X'.
    *Plant
    gt_bapi_marc1-plant = gs_output1-werks.
    gt_bapi_marc1-pur_status = gs_output1-mmsta.
    gt_bapi_marc1-mrp_type = gs_output1-dismm.
    gt_bapi_marc1-mrp_ctrler = gs_output1-dispo.
    gt_bapi_marc1-serv_level = gs_output1-zserclass.
    gt_bapi_marc1-availcheck = gs_output1-mtvfp.
    gt_bapi_marcx-plant = gs_output1-werks .
    gt_bapi_marcx-pur_status = 'X'.
    gt_bapi_marcx-mrp_type = 'X'.
    gt_bapi_marcx-mrp_ctrler = 'X'.
    gt_bapi_marcx-serv_level = 'X'.
    gt_bapi_marcx-availcheck = 'X'.
    Material Description
    REFRESH gt_materialdesc.
    gt_materialdesc-langu = gs_output1-spras.
    gt_materialdesc-matl_desc = gs_output1-maktx.
    append gt_materialdesc.
    *Sales
    gt_bapi_mvke1-sales_org = gs_output1-vkorg.
    gt_bapi_mvke1-distr_chan = gs_output1-vtweg.
    gt_bapi_mvke1-sal_status = gs_output1-vmsta.
    gt_bapi_mvke1-valid_from = gs_output1-vmstd.
    gt_bapi_mvkex-sales_org = 'X'.
    gt_bapi_mvkex-distr_chan = 'X'.
    gt_bapi_mvkex-sal_status = 'X'.
    gt_bapi_mvkex-valid_from = 'X'.
    endform. " move_mat_data

    Hello Hema,
    Find the fields which you need to populate with values:
    As an example i'm trying to update DISPO from MARC and VKORG from MVKE.
    No need to fill clientdata and clienddatax.
    * Header data
          MOVE g_wa_mat_out-s_matnr TO g_r_headdata-material.
          MOVE 'X' TO g_r_headdata-mrp_view.
    * Plant data
          MOVE g_wa_mat_out-t_werks TO: g_r_plantdata-plant,
                                        g_r_plantdatax-plant.
              MOVE g_wa_mat_out-t_dispo_new TO g_r_plantdata-mrp_ctrler.
              MOVE 'X' TO g_r_plantdatax-mrp_ctrler.
              MOVE g_wa_mat_out-t_vkorg_new TO g_r_salesdata-sales_org.
              MOVE 'X' TO g_r_salesdatax-sales_org.
    Reward If Helpful.
    Regards
    Sasidhar Reddy Matli.
    Edited by: Sasidhar Reddy Matli on Feb 7, 2008 11:49 AM

  • Value not getting set in NETValue field in Oppurtunities

    Hi,
    I have requirement to
    make the "Net value"  field in Products assignment block  of new Oppurtunity editable.
    method GET_I_NETVALUE.
        rv_disabled = 'TRUE'.
    endmethod.
    by making rv_disabled = "FALSE" i am able to make it to editable, but i have an issue while entering some value to this field
    for eg: if I give 10.00 and  press enter its getting changed to 0.00. ( value is not getting set )
    Any suggestion will be highly appreciated.
    Regards,
    Sijo...........
    Edited by: sijokjohn85 on Aug 17, 2009 12:04 PM
    Edited by: sijokjohn85 on Aug 17, 2009 9:18 PM
    Edited by: sijokjohn85 on Aug 18, 2009 1:32 PM

    Thread closed

  • BBP_PGRP_ASSIGN_BAdI:Purchase Grp & Purchase Org. are not getting changed

    Hi Experts ,
    Actual  Process:
    As per the normal process when Purchase requisiton is created in ECC then  it will get reflected to SRM through BBP_EXTREQ_TRANSFER.So while SRM creating that it will assign some deflaut purchase group and organisation .
    Requirement given by user:
    But user requires the actual purchase org and purchase group to be determined from back end i.e.ECC and reflect the changes in SRM  .So we have tried implementing the BADI ->Method:( BBP_PGRP_ASSIGN_BAdI->BBP_SC_PGRP_ASSIGN) using filter option EXTREQ_INB.
    Now after implementation when we debug the badi the values are getting updated coorectly in the Change attriutes of Badi .
    After the badi execution finished will Org values are not getting modified .So on further anlyses we found that in   CT_ITEM(Shopping Cart Item details) the value EB_LOG_SYSTEM  is showing as SRMCLIENT300(SRM System ID) but when we manually changed that to EBD220(ECC system ID) the data is getting updated correctly in SRM .
    As per my understanding the back end system for SRM is ECC sytem id .But here it is capturing SRM system id.
    So I want to know how the standard will capture the logical system  as SRM ..instead EBD ..?
    Regards
    Phani.

    Hi Sanjeev,
    Backend purchase group is on under Act ECS.
    Here the main issue is - Users placed under backend purchase group (org -model) However when we trying to  create ECS PO in SRM , noticed that system is picking local purchase group  . Hence not replicating to backend system.
    I hope BADI should be enabled (BBPPGRPFIND) - could you please through some light on this ,how to proceed with this BADI?
    Thanks in advance
    Harish

  • UI not getting change update when working with LIST and INotifyPropertyChanged

    i was trying to know two way data binding. i have simple car class which extend INotifyPropertyChanged for notify the change to update UI. bind List object to few textboxes and notice when one textbox value change then other textbox value not updated. all
    textboxes bind to same property. so one's value change should propagate to other textboxes.
    this is my code
    public class Car : INotifyPropertyChanged
    private string _make;
    private string _model;
    private int _year;
    public event PropertyChangedEventHandler PropertyChanged;
    public Car(string make, string model, int year)
    _make = make;
    _model = model;
    _year = year;
    public string Make
    get { return _make; }
    set
    _make = value;
    this.NotifyPropertyChanged("Make");
    public string Model
    get { return _model; }
    set
    _model = value;
    this.NotifyPropertyChanged("Model");
    public int Year
    get { return _year; }
    set
    _year = value;
    this.NotifyPropertyChanged("Year");
    private void NotifyPropertyChanged(string name)
    if (PropertyChanged != null)
    PropertyChanged(this, new PropertyChangedEventArgs(name));
    This way i bind
    Car carTest;
    private void Form1_Load(object sender, EventArgs e)
    carTest = new Car("Ford", "Mustang", 1967);
    List<Car> ol = new List<Car>();
    ol.Add(carTest);
    this.textBox1.DataBindings.Add("Text", ol, "Make", true, DataSourceUpdateMode.OnPropertyChanged);
    this.textBox2.DataBindings.Add("Text", ol, "Make", true, DataSourceUpdateMode.OnPropertyChanged);
    this.textBox3.DataBindings.Add("Text", ol, "Make");
    when run the code then Ford was showing as make name but when change value in any textbox then that change is not shown in other textboxes.
    the moment i change this line List<Car> ol = new List<Car>(); to
    BindingList<Car> ol = new BindingList<Car>(); then code started to work fine.
    My Question
    1) what is the difference between List and BindingList class ?
    2) can't we use List<> for my situation instead of BindingList
    3)
    this.textBox2.DataBindings.Add("Text", ol, "Make", true, DataSourceUpdateMode.OnPropertyChanged);
    this.textBox3.DataBindings.Add("Text", ol, "Make");
    see the above code and tell me what is the advantage of using DataSourceUpdateMode.OnPropertyChanged because i have seen if we do not use this code
    DataSourceUpdateMode.OnPropertyChanged then also data change is propagated to other textbox when cursor focus change.

    I would have thought that'd work with List<t>, in fact I think there must be something wrong in your code there.  I can't spot it though.
    I recommend use of ObservableCollection rather than BindingList.
    The default on bindings is that changes are propagated from the target ( view ) to source ( vm ) when the control loses focus.
    If you want to do the equivalent to a keydown event handler in a viewmodel then onpropertychanged is the way to go.
    You want to avoid creating bindings in code unless you really really have to, it's way easier to put them in xaml.
    Even if your ui is dynamic, you can build xaml and use that to create the ui objects:
    http://social.technet.microsoft.com/wiki/contents/articles/28797.aspx
    The difference between BindingList and List is, literally, iBindingList.
    See
    https://msdn.microsoft.com/en-us/library/system.componentmodel.ibindinglist%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396
    What probably isn't very obvious is that BindingList fires an event - iirc  itemchanged when properties on objects in it change.
    Maybe you did something wrong in your implementation of inotifypropertychanged.  I must admit, I can't see anything there though.
    You don't really need those magic strings since .net4.5 and you also don't need to explicitly implement inotifypropertychanged you could use:
    public event PropertyChangedEventHandler PropertyChanged;
    public void RaisePropertyChanged([CallerMemberName] String propertyName = "")
    if (PropertyChanged != null)
    PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    As used in this:
    https://gallery.technet.microsoft.com/WPF-Dynamic-Fonts-ad3741ca
    If you try that sample you can have:
    public class FontDetails : INotifyPropertyChanged
    or
    public class FontDetails
    And you can see it still notifies change successfully to both windows.
    Most wpf devs will use observablecollection rather than List or bindinglist.
    Observablecollection notifies addition or removal of entries.  It can be used to notify an entry has changed, but does not detect change of property.  You would have to raise the event in code if you want to tell it an item changed.
    Hope that helps.
    Technet articles: Uneventful MVVM;
    All my Technet Articles

Maybe you are looking for