Re: Values from R/3 - CRM

Hello...
We are adding a new field in CRM-Marketing , under basic tab ... We have used the EEW to add this field.
However, now we need to link this new field from CRM - > ProjectSystems (R3) to populate the values(f4)........ how can we achive this ?
Thanks for your help.
James

Hi James,
You need to run the wizard again and this time you need to check the checkbox for the R/3 system. Create a request also.
This should take care of the creation of those extension in the R/3 system, but make sure that your R/3 version is 4.7 or heigher.
<b>Reward points if it helps!!</b>
Best regards,
Vikash.

Similar Messages

  • Replication of Material Sales status (with user values) from ECC to CRM

    Hi all,
    I 'm trying to find out how to replicate the  sales statuses of the material master data in ECC (in view "sales", field DChain spec. status, MKVE-VMSTA)  to the Material SAles statuses in CRM.
    The sales statuses in ECC have been maintained (via menu SPRO/logistics general/master data/basic settings/settings for key fields/DAta relevant to sales and distribution)) : new specific values have been added to the standard ones.
    Then, this customizing has been replicated to CRM via the DNL_CUST_PROD3 repliction object ( table TVMS).
    I have also created a user status profile with values in CRM with the same values, and assigned with the configurator the status profile to the screen, so the values are selectable in the sales status in CRM (in header).
    But, now, how can i replicate the sales statuses of the ECC materials to either :
    -the product status (header) in CRM, or
    -the sales status (distribution chain specific) in the assignment block of the Distribution-chain specific data  ?
    Is a specific development needed?
    there are some existing notes (623026, 428989, 495764), but not clear about what is possible in terms of replication of statuses
    thanks a lot

    It seems that there is no mapping between ECC and CRM sales area.
    If u want to download customer from ECC for that u have to mention the customer sales area in to the filter and then u have to start  down load from ECC.

  • How to extract values from pricing procedure for conditions in CRM Billing?

    I have a number of conditions in the pricing procedure in CRM Billing that I would like to extract to SAP BW. How can this be done?
    Is there a standard extractor for CRM Billing similar to the SD Billing extractor "Extraction of SD Billing Conditions" (2LIS_13_VDKON)?
    If there is no standard extractor, is there another way to extract the conditions and the related values?
    I am using the standard CRM Billing Extractor 0BEA_CRMB already, so maybe an append could solve my problem. How can this be done? In what CRM-tables can I find the values from pricing procedure for conditions in CRM Billing?

    you may want to post that last question in a CRM forum... in ECC it would be table KONV

  • CRM contact record passing the values from Custom application

    Hi,
    I am passing the values from my custom WPF application to create the contact.
    while passing the first name, last name, addressLine 1  Mobile number it's working fine. while am passing the date of birth it's throughing an error. I am not able to identify the exact issue please giv me the suggestions
    var firstname = txtFirstName.Text;
                var lastname = txtLastName.Text;
                var dataofbirth = this.DatePickerValue;
                var mobilenumber = txtMobileNumber.Text;
                var rfcvalue = txtRFC.Text;
                var addressValue = txtAddress.Text;
                var extraqs = "firstname=" + firstname;
                extraqs += "&lastname=" + lastname;
                extraqs += "&mobilephone=" + mobilenumber;
                extraqs += "&address1_line1=" + addressValue;
                extraqs += "&birthdate=" + dataofbirth;
                //var totalextravalue = "extraqs=firstname%3D" + firstname + "lastname%3D" + lastname + "birthdate%3D" + dataofbirth + "mobilephone%3D"
    + mobilenumber + "ifp_rfc%3D" + rfcvalue + "address1_line1%3D" + addressValue;
                var contacturl = Constants.Contact.Attributes.URLNew + "etc=2&id=&pagetype=entityrecord&extraqs=" + HttpUtility.UrlEncode(extraqs);
    -Regards
    Rammohan

    You should set date in this format 
    &extraqs=date=01/31/11Hope this helps
    Sreeni Pavalla

  • Reading CRM Survey value from buffer

    Hello Experts,
    Does anybody know how to read survey values from the buffer?  I've only found the function module to read from the database which it will be to late as I want to read the value in the save badi.
    Thanks,
    --Jamie.

    You can read the stored survey guid by passing the activity guid where the survey is stored.
    call function 'CRM_SURVEY_DATA_GET'
    exporting
    iv_object_guid = Activity guid.
    importing
    et_survey_ui = lt_survey_ui
    exceptions
    error_occurred = 1
    others = 2 .
    Once you got the surver guids and version information in lt_survey_ui then pass the values to the below FM to get the stored XML data.
    call function 'CRM_SVY_DB_SV_READ'
    exporting
    valuesguid = ls_survey_ui-valueguid
    valuesversion = ls_survey_ui-valueversion
    tables
    surveyvalues = lt_surveyvalues
    You should be able to read the Filtered XML data from the table
    lt_surveyvalues.
    Regards,
    Krishna Murthy.

  • Assign a value from dropdownlist to input field value on BSP page

    Hi,
    I'm new to SAP and ABAP. We have a CRM project in which I have to maintain BSP pages.
    Now, coming to my problem: I have a input field with
    value = "//BTAdminH/HeaderInfo"
    This field is normally maintainable. The required function is now to set this field as not maintainable/readonly. Then, the value should be set automatically to an value, which will be selected from a dropdownListBox. After saving, the value HeaderInfo should have the same value like the selected value from the dropdownListBox.
    How can I now set the field as readonly (this should be the easier part) and
    how can I set the value for the HeaderInfo to the value of the selected value from the dropdownListBox?
    If I set it directly like this
    value = "//BTActivity/Priority"
    it is shown on the BSP page correclty, but it is not saved as HeaderInfo.
    Please help me.
    Enja

    Hello Gokul,
    test was only for test purposes! I am using as a separator the plus sign!
    But this is not the problem!
    In debugging, the local variable has the concatenated value! So, this is working!
    oncatenate ls_ddlb1-value ls_ddlb2-value ls_ddlb3-value into lv_headerinfo SEPARATED BY ' + '.
    But when I assign the value of my set_headerinfo to the local variable, then it is returning only the separator sign!!!
    if BTAdminH->GET_HEADERINFO( 'HEADERINFO' ) is initial.
        BTAdminH->SET_HEADERINFO( attribute_path = 'HEADERINFO' value = lv_headerinfo ).
      endif.
    If I declare the local variable as one of the dropdown values, then it is getting populated also for set_headerinfo
    lv_headerinfo  =ls_ddlb1-value.
    So, the assigning is also working! But it is not working, when the local variable equals more than one value! I hope that I could explained it in the right way for you!!!!
    So. why is the value for set_headerinfo not the same as the one for the local variable! The local variable has the correct value after the concatination.
    Regards
    Enja

  • NullPointerException - Cannot get the value from variable f_cashGiven

    In SubCheckout.java (a POS), what I want is when Payment button (f_cashPayment) is pressed, the action "Cash" is performed, get the value from Cash Given (f_cashGiven), do the subtraction and post the value as Cash Return (f_cashReturn). The code is filled in actionPerformed. But I cannot get the value by using f_cashGiven.getValue() from VNumber class. It returns NULL. This should be quite straight forward, but I do not know what is wrong. Please help!
    Enclosed please find the source code of SubCheckout.java and VNumber.java
    This is the code of SubCheckout.java :
    * The contents of this file are subject to the   Compiere License  Version 1.1
    * ("License"); You may not use this file except in compliance with the License
    * You may obtain a copy of the License at http://www.compiere.org/license.html
    * Software distributed under the License is distributed on an  "AS IS"  basis,
    * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
    * the specific language governing rights and limitations under the License.
    * The Original Code is Compiere ERP & CRM Smart Business Solution. The Initial
    * Developer of the Original Code is Jorg Janke. Portions created by Jorg Janke
    * are Copyright (C) 1999-2005 Jorg Janke.
    * All parts are Copyright (C) 1999-2005 ComPiere, Inc.  All Rights Reserved.
    * Contributor(s): ______________________________________.
    package org.compiere.pos;
    import java.awt.*;
    import java.awt.event.*;
    import java.math.BigDecimal;
    import javax.swing.border.*;
    import org.compiere.grid.ed.*;
    import org.compiere.swing.*;
    import org.compiere.util.*;
    *     POS Checkout Sub Panel
    *  @author Jorg Janke
    *  @version $Id: SubCheckout.java,v 1.3 2005/03/11 20:28:22 jjanke Exp $
    public class SubCheckout extends PosSubPanel implements ActionListener
          *      Constructor
          *     @param posPanel POS Panel
         public SubCheckout (PosPanel posPanel)
              super (posPanel);
         }     //     PosSubCheckout
         private CButton f_register = null;
         private CButton f_summary = null;
         private CButton f_process = null;
         private CButton f_print = null;
         private CLabel f_lcreditCardNumber = null;
         private CTextField f_creditCardNumber = null;
         private CLabel f_lcreditCardExp = null;
         private CTextField f_creditCardExp = null;
         private CLabel f_lcreditCardVV = null;
         private CTextField f_creditCardVV = null;
         private CButton f_cashPayment = null;
         private CLabel f_lcashGiven = null;
         private VNumber f_cashGiven = null;
         private CLabel f_lcashReturn = null;
         private VNumber f_cashReturn = null;
         private CButton f_creditPayment = null;
         /**     Logger               */
         private static CLogger log = CLogger.getCLogger(SubCheckout.class);
          *      Initialize
         public void init()
              //     Title
              TitledBorder border = new TitledBorder(Msg.getMsg(Env.getCtx(), "Checkout"));
              setBorder(border);
              //     Content
              setLayout(new GridBagLayout());
              GridBagConstraints gbc = new GridBagConstraints();
              gbc.insets = INSETS2;
              //     --     0
              gbc.gridx = 0;
              f_register = createButtonAction("Register", null);
              gbc.gridy = 0;
              add (f_register, gbc);
              f_summary = createButtonAction("Summary", null);
              gbc.gridy = 1;
              add (f_summary, gbc);
              f_process = createButtonAction("Process", null);
              gbc.gridy = 2;
              add (f_process, gbc);
              f_print = createButtonAction("Print", null);
              gbc.gridy = 3;
              add (f_print, gbc);
              //     --     1 -- Cash
              gbc.gridx = 1;
              gbc.gridheight = 2;
              gbc.fill = GridBagConstraints.BOTH;
              gbc.weightx = .1;
              CPanel cash = new CPanel(new GridBagLayout());
              cash.setBorder(new TitledBorder(Msg.getMsg(Env.getCtx(), "Cash")));
              gbc.gridy = 0;
              add (cash, gbc);
              GridBagConstraints gbc0 = new GridBagConstraints();
              gbc0.insets = INSETS2;
              gbc0.anchor = GridBagConstraints.WEST;
              f_lcashGiven = new CLabel(Msg.getMsg(Env.getCtx(),"CashGiven"));
              cash.add (f_lcashGiven, gbc0);
              f_cashGiven = new VNumber("CashGiven", false, false, true, DisplayType.Amount,
                   Msg.translate(Env.getCtx(), "CashGiven"));
              f_cashGiven.addActionListener(this);
              f_cashGiven.setColumns(10, 25);
              cash.add (f_cashGiven, gbc0);
              f_cashGiven.setValue(Env.ZERO);
              f_lcashReturn = new CLabel(Msg.getMsg(Env.getCtx(),"CashReturn"));
              cash.add (f_lcashReturn, gbc0);
              f_cashReturn = new VNumber("CashReturn", false, true, false, DisplayType.Amount,
                   "CashReturn");
              f_cashReturn.setColumns(10, 25);
              cash.add (f_cashReturn, gbc0);
              f_cashReturn.setValue(Env.ZERO);
              f_cashPayment = createButtonAction("Payment", null);
              f_cashPayment.setActionCommand("Cash");
              gbc0.anchor = GridBagConstraints.EAST;
              gbc0.weightx = 0.1;
              cash.add (f_cashPayment, gbc0);
              //     --     1 -- Creditcard
              CPanel creditcard = new CPanel(new GridBagLayout());
              creditcard.setBorder(new TitledBorder(Msg.translate(Env.getCtx(), "CreditCardType")));
              gbc.gridy = 2;
              add (creditcard, gbc);
              GridBagConstraints gbc1 = new GridBagConstraints();
              gbc1.insets = INSETS2;
              gbc1.anchor = GridBagConstraints.WEST;
              gbc1.gridx = 0;
              gbc1.gridy = 0;
              f_lcreditCardNumber = new CLabel(Msg.translate(Env.getCtx(), "CreditCardNumber"));
              creditcard.add (f_lcreditCardNumber, gbc1);
              gbc1.gridy = 1;
              f_creditCardNumber = new CTextField(18);
              creditcard.add (f_creditCardNumber, gbc1);
              gbc1.gridx = 1;
              gbc1.gridy = 0;
              f_lcreditCardExp = new CLabel(Msg.translate(Env.getCtx(),"CreditCardExp"));
              creditcard.add (f_lcreditCardExp, gbc1);
              gbc1.gridy = 1;
              f_creditCardExp = new CTextField(5);
              creditcard.add (f_creditCardExp, gbc1);
              gbc1.gridx = 2;
              gbc1.gridy = 0;
              f_lcreditCardVV = new CLabel(Msg.translate(Env.getCtx(), "CreditCardVV"));
              creditcard.add (f_lcreditCardVV, gbc1);
              gbc1.gridy = 1;
              f_creditCardVV = new CTextField(5);
              creditcard.add (f_creditCardVV, gbc1);
              gbc1.gridx = 3;
              gbc1.gridy = 0;
              gbc1.gridheight = 2;
              f_creditPayment = createButtonAction("Payment", null);
              f_creditPayment.setActionCommand("CreditCard");
              gbc1.anchor = GridBagConstraints.EAST;
              gbc1.weightx = 0.1;
              creditcard.add (f_creditPayment, gbc1);
         }     //     init
          *      Get Panel Position
         public GridBagConstraints getGridBagConstraints()
              GridBagConstraints gbc = super.getGridBagConstraints();
              gbc.gridx = 0;
              gbc.gridy = 3;
              return gbc;
         }     //     getGridBagConstraints
          *      Dispose - Free Resources
         public void dispose()
              super.dispose();
         }     //     dispose
          *      Action Listener
          *     @param e event
         public void actionPerformed (ActionEvent e)
              String action = e.getActionCommand();
              if (action == null || action.length() == 0)
                   return;
              log.info( "PosSubCheckout - actionPerformed: " + action);
              if (e.getSource() == f_cashGiven) {
                   f_cashGiven.setValue(f_cashGiven.getValue());
                   System.out.println("f_cashGiven"+f_cashGiven.getDisplay());
              //     Register
              //     Summary
              //     Print
              if (action.equals("Cash")) {
                   BigDecimal CashGiven, GrandTotal, CashReturn;
                   System.out.println("Cash given is "+f_cashGiven.getDisplay());
                   CashGiven = (BigDecimal)f_cashGiven.getValue();
                   GrandTotal = (BigDecimal)p_posPanel.f_curLine.getOrder().getGrandTotal();
                   CashReturn = CashGiven.subtract(GrandTotal);
                   f_cashReturn.setValue(CashReturn);
              //     Cash (Payment)
              //     CreditCard (Payment)
         }     //     actionPerformed
    }     //     PosSubCheckoutThis is the code of VNumber.java :
    * The contents of this file are subject to the   Compiere License  Version 1.1
    * ("License"); You may not use this file except in compliance with the License
    * You may obtain a copy of the License at http://www.compiere.org/license.html
    * Software distributed under the License is distributed on an  "AS IS"  basis,
    * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
    * the specific language governing rights and limitations under the License.
    * The Original Code is Compiere ERP & CRM Smart Business Solution. The Initial
    * Developer of the Original Code is Jorg Janke. Portions created by Jorg Janke
    * are Copyright (C) 1999-2005 Jorg Janke.
    * All parts are Copyright (C) 1999-2005 ComPiere, Inc.  All Rights Reserved.
    * Contributor(s): ______________________________________.
    package org.compiere.grid.ed;
    import java.awt.*;
    import java.awt.event.*;
    import java.beans.*;
    import java.math.*;
    import java.text.*;
    import java.util.logging.*;
    import javax.swing.*;
    import javax.swing.text.*;
    import org.compiere.apps.*;
    import org.compiere.model.*;
    import org.compiere.swing.*;
    import org.compiere.util.*;
    *     Number Control
    *      @author      Jorg Janke
    *      @version      $Id: VNumber.java,v 1.41 2005/09/03 01:57:16 jjanke Exp $
    public final class VNumber extends JComponent
         implements VEditor, ActionListener, KeyListener, FocusListener
         /**     Number of Columns (12)          */
         public final static int SIZE = 12;
          *  IDE Bean Constructor
         public VNumber()
              this("Number", false, false, true, DisplayType.Number, "Number");
         }   //  VNumber
          *     Create right aligned Number field.
          *     no popup, if WindowNo == 0 (for IDs)
          *  @param columnName column name
          *  @param mandatory mandatory
          *  @param isReadOnly read only
          *  @param isUpdateable updateable
          *  @param displayType display type
          *  @param title title
         public VNumber(String columnName, boolean mandatory, boolean isReadOnly, boolean isUpdateable,
              int displayType, String title)
              super();
              super.setName(columnName);
              m_columnName = columnName;
              m_title = title;
              setDisplayType(displayType);
              LookAndFeel.installBorder(this, "TextField.border");
              this.setLayout(new BorderLayout());
    //          this.setPreferredSize(m_text.getPreferredSize());          //     causes r/o to be the same length
    //          int height = m_text.getPreferredSize().height;
    //          setMinimumSize(new Dimension (30,height));
              //     ***     Text     ***
              m_text.setBorder(null);
              m_text.setHorizontalAlignment(JTextField.TRAILING);
              m_text.addKeyListener(this);
              m_text.addFocusListener(this);
              //     Background
              setMandatory(mandatory);
              this.add(m_text, BorderLayout.CENTER);
              //     ***     Button     ***
              m_button.setIcon(Env.getImageIcon("Calculator10.gif"));
              m_button.setMargin(new Insets(0, 0, 0, 0));
              m_button.setFocusable(false);
              m_button.addActionListener(this);
              this.add (m_button, BorderLayout.EAST);
              //     Prefereed Size
              this.setPreferredSize(this.getPreferredSize());          //     causes r/o to be the same length
              //  Size
              setColumns(SIZE, CComboBox.FIELD_HIGHT-4);     
              //     ReadWrite
              if (isReadOnly || !isUpdateable)
                   setReadWrite(false);
              else
                   setReadWrite(true);
         }     //     VNumber
          *  Dispose
         public void dispose()
              m_text = null;
              m_button = null;
              m_mField = null;
         }   //  dispose
          *     Set Document
          *  @param doc document
         protected void setDocument(Document doc)
              m_text.setDocument(doc);
         }     //     getDocument
         private String               m_columnName;
         protected int               m_displayType;     //  Currency / UoM via Context
         private DecimalFormat     m_format;
         private String               m_title;
         private boolean               m_setting;
         private String               m_oldText;
         private String               m_initialText;
         private boolean               m_rangeSet = false;
         private Double               m_minValue;
         private Double               m_maxValue;
         private boolean               m_modified = false;
         /**  The Field                  */
         private CTextField          m_text = new CTextField(SIZE);     //     Standard
         /** The Button                  */
         private CButton              m_button = new CButton();
         private MField          m_mField = null;
         /**     Logger               */
         private static CLogger log = CLogger.getCLogger(VNumber.class);
          *      Set no of Columns
          *     @param columns columns
         public void setColumns (int columns, int height)
              m_text.setPreferredSize(null);
              m_text.setColumns(columns);
              Dimension size = m_text.getPreferredSize();
              if (height > size.height)               //     default 16
                   size.height = height;
              if (CComboBox.FIELD_HIGHT-4 > size.height)
                   size.height = VLookup.FIELD_HIGHT-4;
              this.setPreferredSize(size);          //     causes r/o to be the same length
              this.setMinimumSize(new Dimension (columns*10, size.height));
              m_button.setPreferredSize(new Dimension(size.height, size.height));
         }     //     setColumns
          *     Set Range with min & max
          *  @param minValue min value
          *  @param maxValue max value
          *     @return true, if accepted
         public boolean setRange(Double minValue, Double maxValue)
              m_rangeSet = true;
              m_minValue = minValue;
              m_maxValue = maxValue;
              return m_rangeSet;
         }     //     setRange
          *     Set Range with min & max = parse US style number w/o Gouping
          *  @param minValue min value
          *  @param maxValue max value
          *  @return true if accepted
         public boolean setRange(String minValue, String maxValue)
              if (minValue == null || maxValue == null)
                   return false;
              try
                   m_minValue = Double.valueOf(minValue);
                   m_maxValue = Double.valueOf(maxValue);
              catch (NumberFormatException nfe)
                   return false;
              m_rangeSet = true;
              return m_rangeSet;
         }     //     setRange
          *  Set and check DisplayType
          *  @param displayType display type
         public void setDisplayType (int displayType)
              m_displayType = displayType;
              if (!DisplayType.isNumeric(displayType))
                   m_displayType = DisplayType.Number;
              m_format = DisplayType.getNumberFormat(displayType);
              m_text.setDocument (new MDocNumber(displayType, m_format, m_text, m_title));
         }   //  setDisplayType
          *     Set ReadWrite
          *  @param value value
         public void setReadWrite (boolean value)
              if (m_text.isReadWrite() != value)
                   m_text.setReadWrite(value);
              if (m_button.isReadWrite() != value)
                   m_button.setReadWrite(value);
              //     Don't show button if not ReadWrite
              if (m_button.isVisible() != value)
                   m_button.setVisible(value);
         }     //     setReadWrite
          *     IsReadWrite
          *  @return true if rw
         public boolean isReadWrite()
              return m_text.isReadWrite();
         }     //     isReadWrite
          *     Set Mandatory (and back bolor)
          *  @param mandatory mandatory
         public void setMandatory (boolean mandatory)
              m_text.setMandatory(mandatory);
         }     //     setMandatory
          *     Is it mandatory
          *  @return true if mandatory
         public boolean isMandatory()
              return m_text.isMandatory();
         }     //     isMandatory
          *     Set Background
          *  @param color color
         public void setBackground(Color color)
              m_text.setBackground(color);
         }     //     setBackground
          *     Set Background
          *  @param error error
         public void setBackground (boolean error)
              m_text.setBackground(error);
         }     //     setBackground
          *  Set Foreground
          *  @param fg foreground
         public void setForeground(Color fg)
              m_text.setForeground(fg);
         }   //  setForeground
          *     Set Editor to value
          *  @param value value
         public void setValue(Object value)
              log.finest("Value=" + value);
              if (value == null)
                   m_oldText = "";
              else
                   m_oldText = m_format.format(value);
              //     only set when not updated here
              if (m_setting)
                   return;
              m_text.setText (m_oldText);
              m_initialText = m_oldText;
              m_modified = false;
         }     //     setValue
          *  Property Change Listener
          *  @param evt event
         public void propertyChange (PropertyChangeEvent evt)
              if (evt.getPropertyName().equals(org.compiere.model.MField.PROPERTY))
                   setValue(evt.getNewValue());
         }   //  propertyChange
          *     Return Editor value
          *  @return value value (big decimal or integer)
         public Object getValue()
              if (m_text == null || m_text.getText() == null || m_text.getText().length() == 0)
                   return null;
              String value = m_text.getText();
              //     return 0 if text deleted
              if (value == null || value.length() == 0)
                   if (!m_modified)
                        return null;
                   if (m_displayType == DisplayType.Integer)
                        return new Integer(0);
                   return Env.ZERO;
              if (value.equals(".") || value.equals(",") || value.equals("-"))
                   value = "0";
              try
                   Number number = m_format.parse(value);
                   value = number.toString();      //     converts it to US w/o thousands
                   BigDecimal bd = new BigDecimal(value);
                   if (m_displayType == DisplayType.Integer)
                        return new Integer(bd.intValue());
                   if (bd.signum() == 0)
                        return bd;
                   return bd.setScale(m_format.getMaximumFractionDigits(), BigDecimal.ROUND_HALF_UP);
              catch (Exception e)
                   log.log(Level.SEVERE, "Value=" + value, e);
              if (m_displayType == DisplayType.Integer)
                   return new Integer(0);
              return Env.ZERO;
         }     //     getValue
          *  Return Display Value
          *  @return value
         public String getDisplay()
              return m_text.getText();
         }   //  getDisplay
          *      Get Title
          *     @return title
         public String getTitle()
              return m_title;
         }     //     getTitle
          *      Plus - add one.
          *      Also sets Value
          *     @return new value
         public Object plus()
              Object value = getValue();
              if (value == null)
                   if (m_displayType == DisplayType.Integer)
                        value = new Integer(0);
                   else
                        value = Env.ZERO;
              //     Add
              if (value instanceof BigDecimal)
                   value = ((BigDecimal)value).add(Env.ONE);
              else
                   value = new Integer(((Integer)value).intValue() + 1);
              setValue(value);
              return value;
         }     //     plus
          *      Minus - subtract one, but not below minimum.
          *      Also sets Value
          *     @param minimum minimum
          *     @return new value
         public Object minus (int minimum)
              Object value = getValue();
              if (value == null)
                   if (m_displayType == DisplayType.Integer)
                        value = new Integer(minimum);
                   else
                        value = new BigDecimal(minimum);
                   setValue(value);
                   return value;
              //     Subtract
              if (value instanceof BigDecimal)
                   BigDecimal bd = ((BigDecimal)value).subtract(Env.ONE);
                   BigDecimal min = new BigDecimal(minimum);
                   if (bd.compareTo(min) < 0)
                        value = min;
                   else
                        value = bd;
              else
                   int i = ((Integer)value).intValue();
                   i--;
                   if (i < minimum)
                        i = minimum;
                   value = new Integer(i);
              setValue(value);
              return value;
         }     //     minus
          *     Action Listener
          *  @param e event
         public void actionPerformed (ActionEvent e)
              log.config(e.getActionCommand());
              if (ValuePreference.NAME.equals(e.getActionCommand()))
                   if (MRole.getDefault().isShowPreference())
                        ValuePreference.start (m_mField, getValue());
                   return;
              if (e.getSource() == m_button)
                   m_button.setEnabled(false);
                   String str = startCalculator(this, m_text.getText(), m_format, m_displayType, m_title);
                   m_text.setText(str);
                   m_button.setEnabled(true);
                   try
                        fireVetoableChange (m_columnName, m_oldText, getValue());
                   catch (PropertyVetoException pve)     {}
                   m_text.requestFocus();
         }     //     actionPerformed
          *     Key Listener Interface
          *  @param e event
         public void keyTyped(KeyEvent e)    {}
         public void keyPressed(KeyEvent e)  {}
          *     Key Listener.
          *          - Escape           - Restore old Text
          *          - firstChange     - signal change
          *  @param e event
         public void keyReleased(KeyEvent e)
              log.finest("Key=" + e.getKeyCode() + " - " + e.getKeyChar()
                           + " -> " + m_text.getText());
              //  ESC
              if (e.getKeyCode() == KeyEvent.VK_ESCAPE)
                   m_text.setText(m_initialText);
              m_modified = true;
              m_setting = true;
              try
                   if (e.getKeyCode() == KeyEvent.VK_ENTER)     //     10
                        fireVetoableChange (m_columnName, m_oldText, getValue());
                        fireActionPerformed();
                   else     //     indicate change
                        fireVetoableChange (m_columnName, m_oldText, null);     
              catch (PropertyVetoException pve)     {}
              m_setting = false;
         }     //     keyReleased
          *     Focus Gained
          *  @param e event
         public void focusGained (FocusEvent e)
              if (m_text != null)
                   m_text.selectAll();
         }     //     focusGained
          *     Data Binding to MTable (via GridController.vetoableChange).
          *  @param e event
         public void focusLost (FocusEvent e)
         //          log.finest(e.toString());
              //     APanel - Escape
              if (e.getOppositeComponent() instanceof AGlassPane)
                   m_text.setText(m_initialText);
                   return;
              try
                   fireVetoableChange (m_columnName, m_initialText, getValue());
                   fireActionPerformed();
              catch (PropertyVetoException pve)     {}
         }   //  focusLost
          *     Invalid Entry - Start Calculator
          *  @param jc parent
          *  @param value value
          *  @param format format
          *  @param displayType display type
          *  @param title title
          *  @return value
         public static String startCalculator(Container jc, String value,
              DecimalFormat format, int displayType, String title)
              log.config("Value=" + value);
              BigDecimal startValue = new BigDecimal(0.0);
              try
                   if (value != null && value.length() > 0)
                        Number number = format.parse(value);
                        startValue = new BigDecimal (number.toString());
              catch (ParseException pe)
                   log.info("InvalidEntry - " + pe.getMessage());
              //     Find frame
              Frame frame = Env.getFrame(jc);
              //     Actual Call
              Calculator calc = new Calculator(frame, title,
                   displayType, format, startValue);
              AEnv.showCenterWindow(frame, calc);
              BigDecimal result = calc.getNumber();
              log.config( "Result=" + result);
              calc = null;
              if (result != null)
                   return format.format(result);
              else
                   return value;          //     original value
         }     //     startCalculator
          *  Set Field/WindowNo for ValuePreference
          *  @param mField field
         public void setField (MField mField)
              m_mField = mField;
              if (m_mField != null
                   && MRole.getDefault().isShowPreference())
                   ValuePreference.addMenu (this, popupMenu);
         }   //  setField
          *      Remove Action Listner
          *      @param l Action Listener
         public void removeActionListener(ActionListener l)
              listenerList.remove(ActionListener.class, l);
         }     //     removeActionListener
          *      Add Action Listner
          *      @param l Action Listener
         public void addActionListener(ActionListener l)
              listenerList.add(ActionListener.class, l);
         }     //     addActionListener
          *      Fire Action Event to listeners
         protected void fireActionPerformed()
              int modifiers = 0;
              AWTEvent currentEvent = EventQueue.getCurrentEvent();
              if (currentEvent instanceof InputEvent)
                   modifiers = ((InputEvent)currentEvent).getModifiers();
              else if (currentEvent instanceof ActionEvent)
                   modifiers = ((ActionEvent)currentEvent).getModifiers();
              ActionEvent ae = new ActionEvent (this, ActionEvent.ACTION_PERFORMED,
                   "VNumber", EventQueue.getMostRecentEventTime(), modifiers);
              // Guaranteed to return a non-null array
              Object[] listeners = listenerList.getListenerList();
              // Process the listeners last to first, notifying those that are interested in this event
              for (int i = listeners.length-2; i>=0; i-=2)
                   if (listeners==ActionListener.class)
                        ((ActionListener)listeners[i+1]).actionPerformed(ae);
         }     //     fireActionPerformed
    }     //     VNumber

    If getValue() returns null, you need to trace the execution of the code and figure out which sequence of code is leading to the return of null. This method looks complex - a lot of if statements. If you do not have a debugger, put System.out.println statements inside the method to figure out what's going on.

  • How to get peak values from SM52?

    Hello
    I am trying to optimize my VMC since it has a high load compared to the hardware it runs on. To do that I need the peak values of those figures shown in SM52. Do any of you know how to get those?
    I have NW 7, CRM 5.0 and SP13. All I get in SM52 is "Used/Allocated" with one exeption; the number of vmc containers and that show me this: "Minimum / peak / maximum number of VMs".
    Thank you!
    Best Regards, Linus Hellsing

    Hello Jothivenkatesh M
    Thank you for your answer. My problem, however, is that I need the maximum values of the other values.
    Global Classes   210 MB / 10 %   (Used/Allocated 55.979.280 / 220.200.960 Bytes, 25 %) 
    Global Programs   64 MB / 3 %   (Used/Allocated 24.356.400 / 67.108.864 Bytes, 36 %) 
    Global Data   1.300 MB / 62 %   (Used/Allocated 755.387.792 / 1.362.748.332 Bytes, 55 %) 
    Global Copy-Only Data   507 MB / 24 %   (Used/Allocated 109.891.968 / 532.101.872 Bytes, 21 %) 
    Global Admin Data   3 MB / 0 %   (Used/Allocated 85.008 / 3.608.576 Bytes, 2 %) 
    Other Global Data   14 MB / 0 %   (Used/Allocated 4.615.760 / 14.842.083 Bytes, 31 %) 
    Total   2.099 MB   (Used/Allocated 950.316.208 / 2.200.610.687 Bytes, 43 %) 
    Errors occurred   0  
    Here : http://help.sap.com/saphelp_nw70ehp1/helpdata/en/11/45cf94a60c41c1a172dc1e30dad2f8/frameset.htm
    SAP writes:
    The standard settings represent a minimum configuration. You normally have to change these settings for productive operation of the VM Container. Configure the system following the settings in SAP Note1020539.
    A quote from sapnote 1020539 regarding Global Copy-Only Data :
    "Later, you can adjust the value to the peak value from transaction SM52."
    Br Linus Hellsing

  • Urgent : transfer of custom fields of a sales order from ECC to CRM

    Hi,
    We have a sales order which will be created in CRM and replicated to ECC.
    We have added some custom fields in table VBAK, which we are displaying in the sales order additional data tab B. When the user saves the sales order,we need to transfer the fields back to CRM.
    We are aware of the the BADI CRM_DATAEXCHG_BADI.
    Also i think we need to conisder the structure BAPIMTCS but not sure how exactly we can use it.
    On the CRM side these Z fields exist in the structure BAD_BUS_TRANSN_MESSAGE-CUSTOMER_H of the method CRM_DATAEXCH_R3D_MBDOC_FILL.
    Can someone guidde us on how exactly do we transfer the value from ECC VBAK-Z* to CRM  value BAD_BUS_TRANSN_MESSAGE-CUSTOMER_H.

    Hi Sameer,
    Thanks for the document.
    I tried doing the same steps recommended(in the document it was for a customer). However i dont think my values from the ECC side are being passed to the CRM side.
    I created a new Z structure and passed it via BAPIMTCS, but on the CRM side when i tired retrieving my Z structure,i dont think the system found it.
    There are 2 BAPITCMS structures, t_table_info and the other t_bapistruc.
    Do you know which one we need to fill up?
    Thanks,
    Neil.

  • Process to add  new field to Account screen and update value from R/3...

    We have CRM 7 and just wanted to ask what the process would be to add a new field to the Accounts screen. This field will be a read-only field and we'll source its value from R/3, based on some of the other data entered into the Accounts screen.
    What exactly is involved in this process?.
    I think I can use the new Application Enhancement Tool instead of EEWB to create the new field, but how does one identify which structure/table to change for say the 'Accounts' data, and, where does one place the code which populates this field, and, once the structure has been changed how do I physically add the field to the screen. I should be okay with reaching out to R/3 and populating the data, code-wise, but again wondered if there was anything inbuilt to do this, bearing in mind the closeness and constant access to R/3 from CRM.
    Any help would be much appreciated.
    Jason
    Edited by: Jason Stratham on Apr 14, 2010 1:11 PM

    Jason,
    If you use EEWB or AET,, there is nothing manual you have to do, the fields will be added to all related tables and structures plus UI too.
    May be sometimes you have to run the UI configration tool to add the field to the UI, again this is just a tool, there is not manual coding required.
    you can enter the value for the fields direclty via UI, BUT if it is a display only field, at the time of save, you have to write couple of line to populate this field ( see set_property( ) method in the context node ).
    Thats it...
    Regards, Sudeep..

  • Error in segment COMM_PR_SHTEXT when downloading products from ERP to CRM

    Hi experts
    I get below error when downloading materials from ERP to CRM.
    "Data for set COMM_PR_SHTEXT may only be changed in the original system Q10CLNT310" But the material and the short texts has been created in ERP, hence I can't change them in CRM. When I look in table COMM_PRODUCT field LOGSYS has value 'Q01CLNT300' which is our ERP system. So as far as I see it, our original system is Q01CLNT300 and not Q10CLNT310 as it says in the errormessage. The result is that the sales org data we are trying to download to CRM are not downloaded.
    Can you help me on this one?
    Best regards
    Jørgen Jensen

    Hello Jørgen ,
    Q10CLNT310 --> Is this you old ERP system?
    One possibility for this error would be some product related tables contain the wrong LOGSYS value i,e Q10CLNT310.
    Also,check LOGSYS for table COMM_PRSHTEXT.
    This generally happens when data has been copied by means of client copy , and you do not run txn:BDLS.
    In txn:BDLS ,you can change the LOGSYS for a particular table or all relevant tables.
    You can execute in in Test mode, to check the affected tables.
    Hope this helps!
    Best Regards,
    Shanthala Kudva.

  • Initial Load of contract from ISU to CRM

    Hi All,
    We are working on the replication of contract from ISU to CRM.
    We have done all the necessary setting,like assigning default product,running ecrm_generate_everh report etc
    When we are running initial load on SI_CONTRACT,only single BDOC is getting generated which is error free but still it contains no data.
    Since its without an error ,we are not able to figure out whats the error is.
    Regards
    Nikhil

    Hello Nikhill,
    Could you resolve the problem?? I've a similar error, the BDoc is empty. The table everh is filed but the fields contractpos and contarcthead have value '0000000000000000' i think that is the problem. ANd the recport ECRM_CHECK_EVERH say that are misiing contracts.
    Could you help me please!!!
    Thnks!!

  • Changes are not updated from ECC to CRM How to debug

    Hi,
    QCs 1140049726  and 1140047459 were updated in P20 system to remove the WBS.  This was done per normal P20 process and instructions.  P20 system correctly reflects that QCs have no WBS value and the contracts are BOX - all is correct in P20.
    CSP still shows these QCs as having a WBS assigned to them.  This is incorrect.  It has been over 24 hours since the P20 QCs were changed to reflect no WBS, but CSP still has not been replicated with the correct data.
    How to proceed with it. How to debug from ECC to CRM.
    Prem.

    Hello Prem,
    Could you please have a look at SAP note 656823?
    This note contains debug tips for btx data transfer. Please check point 6 which talks about the delta download.
    Hope this could be helpful.
    Best regards,
    Maggie

  • Middleware filter settings to block transactions from flowing into CRM

    Hi Experts,
    We have a requirement where in we need to stop the transactions from flowing to CRM from ECC based on the combination of transaction type and number range.
    Here is the detailed scenario:
    We have transaction types T1,T2 and T3.
    Number range of T1 is 1000 to 2000         
    Number range of T2 is 10000 to 20000.    
    Number range of T2 is 1000 to 2000         
    Number range of T3 is 1000 to 2000      
    Transactions T2 (With number range 10000 to 20000) and T3 are originating in ECC.
    Transactions T2 (With number range 1000 to 2000) and T1 are originating in CRM.
    We need transactions T1, T2 (With number range 10000 to 20000) and T3 to flow back to CRM from ECC, but not T2 (With number range 1000 to 2000).
    I tried to figure out a combination that I can enter in the middleware filter settings but couldn't get one.
    Any help in this regard would be highly appreciated.
    Thanks and Regards,
    Kris.
    Edited by: Kris on Jun 10, 2010 7:37 AM

    Hi Kris,
    Can you check if you can add the Number range filter value in Table SMOFFILFLD and then maintain the number range filter to restrict the T2 transaction type as per your scenario.
    Hope this helps.
    Regards,
    Chandrakant

  • Short Dump while copying Org structure from ERP to CRM

    Hello Experts:
    We are trying to copy the Org structure from ECC to CRM.
    We have a standard transaction 'CRMC_R3_ORG_GENERATE' to copy the the org structure from ECC or the IMG path:
    SPRO->CRM->Master Data->Organization Management->Data Transfer->Coppy ECC Sales Structure
    We have a multiple assignment scenario where each sales groups are assigned to multiple sales offices and likewise,each sales office is assigned to multiple sales org unit in ECC.
    This can be achieved by turning on the enhanced version.
    In our current business,even though the sales offices and groups are created,but are not having relavance in the business,hence while running in the sandbox system, we ran the program to copy the structures in the standard mode(default) and we could copy it without issues and create the org units for every entity in CRM based on how the number ranges are defined.
    What happens when enhanced version switch is turned on ::
    While we turn the mode to enhanced version, The system automatically::
    - enhances the Function tab page in the ppoma_crm  transaction to include a grid table, in which you maintain multiple assignments of organizational units
    - generates an extra dialog box to the Organization tab page in business transactions for you to select the relevant assignment path for the organizational unit
    - adapts the consistency check in business transactions to take into account organizational units that have been multiple assigned
    Risk factor :
    Once you have switched to the enhanced backend integration version of the organizational model you cannot return to the standard backend integration version. The system will also automatically make changes to the organizational model version in CRM Mobile Sales.
    Also this structure will happen across all the clients in the system,so unfortunately cannot try in a sandbox client also of the new environment.
    We are building our development box,so while running the above step in standard mode,the program gives a short dump due to long execution time even though we have the same amount of data as in our prototype system.
    Also, we increased the idle time value to a very high value.
    When I approached SAP OSS,I was told that it is due to the multiple assignment scenario,hence we need to switch to enhanced version in CRM before we run the copy program ( CRMC_ORG_R3_GENERATE )
    I am not quite sure if the mismatch of the scenarios between CRM and ECC could be causing this short dump as we could run it in standard mode in our prototype/sandbox environment without issues even  with the same data volume as in the new development system .
    I am looking for help from all the experts if they have come across similar issue and your recommendations/feedback if this can be corrected.
    Appreciate your guidance/recommendation on this issue.
    thanks!!

    In CRM Best Practices Building block C05 is the step by step description how to replicate Org. structure and some of employee's master data.
    Follow link - http://help.sap.com/bp_crmv12007/CRM_DE/BBLibrary/html/C05_EN_DE.htm

Maybe you are looking for

  • Problem with inserting/removing integer in a specified index

    I have an IntList that I am adding methods to and an IntListTest driver that allows me to add those options to test. I am having difficulty adding the two methods: public void removeAt() - removes the value at a specified location at given index with

  • Install KDEMOD, cant find a battery monitor applet

    Hi there, I'm new to Arch... I've been an Ubuntu user for about two years now. I was attracted to Arch one very specific thing: Rolling-Release... It just sucks to be stuck with the same old apps when everyone else (including the windows crowd) has c

  • SAX Parser For XML

    Hello all, I am trying Parsing XML thorugh SAX. Were to get SJXP.jar and parser.jar files on sun site if any body have these files plz mail :[email protected]

  • Adobe Illustrator shut down at startup

    Hi, I am having problem with illustrator. I was using photoshop cs6 and illustrator cs6 and everything was good. But today I installed photoshop cc and the problem I faced after installing cc when I opened illustrator it ceashes. I mean it loads and

  • PO getting terminated(runtime error) for particular user

    Dear all,                 i have a PO and its driver program,it has a functionality ,that when i execute it thru ME9F,i get a pop-up to save the PO in 1. SAP script format     2. PDF format     3. HTML format when the user selects PDF format RB,it ge