DB Utility (SE14) when adding new fields on standard dictionary table

Hi all,
we're searching of an official SAP document (or OSS Note) that certifies the mandatory use of DB utility (SE14) when we add one or more custom fileds on an append structure of a standard table (i.e. like VBAP).
Note: The custom append Structure already exists.
Thanks in advance,
Gianluca

Here is some info pointing to the same..[SAP Help|http://help.sap.com/erp2005_ehp_04/helpdata/EN/cf/21f1ab446011d189700000e8322d00/frameset.htm].
Regards
Narasimhan

Similar Messages

  • Added new field in SC Item table but after Check/Enter the value disappears

    I have added a field in the SC Item table in view V_SC_DOTC_BASIC. Everything works perfectly well except that when a value is entered into that field and ENTER or CHECK is selected, the value goes away and the field becomes a read-only field with nothing in it.
    I know I am missing something, but what?
    All help is appreciated and rewarded.

    Thank you for your reply Masa.
    There is currently an implementation of that BADI that is in use. Brief detail on it. We added a field to the SC Item and included it in the table view for WBS Element. This will allow the users to enter the WBS Element on the item line and not have to go to the Account Assignment section.
    The BADI implementation takes whatever is entered in that field and applies it to the account assignment for that item.
    The actual value in the field is never changed. It is just used to update the account assignment.
    It is not a tabular addition, so the ET_ICF does not come into play.
    Is there anything else you can think of that would allow for the field to display its entries once the CHECK/ENTER is activated?

  • Adding a new field to a DB table

    Hi,
    I am working on 4.6C.
    The requirement is to add an extra field to a database table which already has data in it...
    Will this effect the system in any way...if I add a field with the data in the table.
    What precuations do i have to take before adding an extra field to a DB table.
    I was wondering what will happen when i need to transfer the TR.. Basically the data is there in Production and Quality and not in development... so it will not be a problem in development...
    I mean changing the structure of the table with data in it ... Is it Ok...
    Thanks & regards

    Hi Sam,
    you can add a new field to any database table if even
    if contains data in production, only thing to do is u just
    have create an append structure to that table and in that
    append structure just create the new field.
    NOTE : Naming Conventions as follows:
    For Append Structure e.g :
    In se11 enter Table Name and select change button.
    now select GOTO option in the menu bar and select APPEND STRUCTURE option.
    now the screen shows u an default name for ur append structure, so dont change the name
    just hit enter button and
    now enter the your new field name with two Z's infront of the field.
    e.g if ur field name is MATNR then enter ZZMATNR as ur field in the append structure.
    and now save and activate and also adjust in the DATABASE UTILITY.
    thanks & regards,
    CH Vamsi Bharath

  • Added new field to cube but data not passed from DSO

    Hope someone can help.
    (BI 7.0) We added new fields into a cube. The fields already existed in the DSO. When we ran the process chain in development for the first time after making this change, we notice that the 'historical' data for these fields is populated in the cube. When we do this in our quality system only new data passed to the cube is updated. In development in the sub-chain DTP request we see all previous requests listed under selections. In quality it is only the latest request. The only difference is that the DeltaInit flag in the DTP request in development is ticked (extraction mode) - but not in quality. Does anyone know whyb this is?

    hi peter,
    Adding fields to cube doesn't affect delta status...The delta DTP should be able to handle delta requests automatically.
    I guess in you quality system, the cube already got all requests updated from ODS before you importing the change request. And in develop system none of the requests in ODS were updated before the change.
    Regards,
    Frank

  • TableSorter errors when adding new data

    so here is the deal:
    I am using the TableSorter.java helper class with DefaultTableModel
    from: http://java.sun.com/docs/books/tutorial/uiswing/components/table.html
    It works great when the data is static and I get it for the first time. however, occationally, when adding new data I get a NullPointerException error.
    in use:
    DefaultTableModel.addRow()
    DefaultTableModel.removeRow() and
    DefaultTableModel.insertRow() methods.
    Error:
    java.lang.ArrayIndexOutOfBoundsException: 5
         at com.shared.model.TableSorter.modelIndex(TableSorter.java:294)
         at com.shared.model.TableSorter.getValueAt(TableSorter.java:340)
         at javax.swing.JTable.getValueAt(Unknown Source)
         at javax.swing.JTable.prepareRenderer(Unknown Source)...
    code problem I:
        public Object getValueAt(int row, int column)
            return tableModel.getValueAt(modelIndex(row), column);
        }code problem II:
        public int modelIndex(int viewIndex)
                 return getViewToModel()[viewIndex].modelIndex;     
        }TableSroter class:
    package com.shared.model;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.util.List;
    import javax.swing.*;
    import javax.swing.event.TableModelEvent;
    import javax.swing.event.TableModelListener;
    import javax.swing.table.*;
    * TableSorter is a decorator for TableModels; adding sorting
    * functionality to a supplied TableModel. TableSorter does
    * not store or copy the data in its TableModel; instead it maintains
    * a map from the row indexes of the view to the row indexes of the
    * model. As requests are made of the sorter (like getValueAt(row, col))
    * they are passed to the underlying model after the row numbers
    * have been translated via the internal mapping array. This way,
    * the TableSorter appears to hold another copy of the table
    * with the rows in a different order.
    * <p/>
    * TableSorter registers itself as a listener to the underlying model,
    * just as the JTable itself would. Events recieved from the model
    * are examined, sometimes manipulated (typically widened), and then
    * passed on to the TableSorter's listeners (typically the JTable).
    * If a change to the model has invalidated the order of TableSorter's
    * rows, a note of this is made and the sorter will resort the
    * rows the next time a value is requested.
    * <p/>
    * When the tableHeader property is set, either by using the
    * setTableHeader() method or the two argument constructor, the
    * table header may be used as a complete UI for TableSorter.
    * The default renderer of the tableHeader is decorated with a renderer
    * that indicates the sorting status of each column. In addition,
    * a mouse listener is installed with the following behavior:
    * <ul>
    * <li>
    * Mouse-click: Clears the sorting status of all other columns
    * and advances the sorting status of that column through three
    * values: {NOT_SORTED, ASCENDING, DESCENDING} (then back to
    * NOT_SORTED again).
    * <li>
    * SHIFT-mouse-click: Clears the sorting status of all other columns
    * and cycles the sorting status of the column through the same
    * three values, in the opposite order: {NOT_SORTED, DESCENDING, ASCENDING}.
    * <li>
    * CONTROL-mouse-click and CONTROL-SHIFT-mouse-click: as above except
    * that the changes to the column do not cancel the statuses of columns
    * that are already sorting - giving a way to initiate a compound
    * sort.
    * </ul>
    * <p/>
    * This is a long overdue rewrite of a class of the same name that
    * first appeared in the swing table demos in 1997.
    * @author Philip Milne
    * @author Brendon McLean
    * @author Dan van Enckevort
    * @author Parwinder Sekhon
    * @version 2.0 02/27/04
    public class TableSorter extends AbstractTableModel
        protected TableModel tableModel;
        public static final int DESCENDING = -1;
        public static final int NOT_SORTED = 0;
        public static final int ASCENDING = 1;
        private static Directive EMPTY_DIRECTIVE = new Directive(-1, NOT_SORTED);
        public static final Comparator COMPARABLE_COMAPRATOR = new Comparator()
            public int compare(Object o1, Object o2)
                return ((Comparable) o1).compareTo(o2);
        public static final Comparator LEXICAL_COMPARATOR = new Comparator()
            public int compare(Object o1, Object o2)
                return o1.toString().compareTo(o2.toString());
        private Row[] viewToModel;
        private int[] modelToView;
        private JTableHeader tableHeader;
        private MouseListener mouseListener;
        private TableModelListener tableModelListener;
        private Map columnComparators = new HashMap();
        private List sortingColumns = new ArrayList();
        public TableSorter()
            this.mouseListener = new MouseHandler();
            this.tableModelListener = new TableModelHandler();
        public TableSorter(TableModel tableModel)
            this();
            setTableModel(tableModel);
        public TableSorter(TableModel tableModel, JTableHeader tableHeader)
            this();
            setTableHeader(tableHeader);
            setTableModel(tableModel);
        private void clearSortingState()
            viewToModel = null;
            modelToView = null;
        public TableModel getTableModel()
            return tableModel;
        public void setTableModel(TableModel tableModel)
            if (this.tableModel != null)
                this.tableModel.removeTableModelListener(tableModelListener);
            this.tableModel = tableModel;
            if (this.tableModel != null)
                this.tableModel.addTableModelListener(tableModelListener);
            clearSortingState();
            fireTableStructureChanged();
        public JTableHeader getTableHeader()
            return tableHeader;
        public void setTableHeader(JTableHeader tableHeader)
            if (this.tableHeader != null)
                this.tableHeader.removeMouseListener(mouseListener);
                TableCellRenderer defaultRenderer = this.tableHeader.getDefaultRenderer();
                if (defaultRenderer instanceof SortableHeaderRenderer)
                    this.tableHeader.setDefaultRenderer(((SortableHeaderRenderer) defaultRenderer).tableCellRenderer);
            this.tableHeader = tableHeader;
            if (this.tableHeader != null)
                this.tableHeader.addMouseListener(mouseListener);
                this.tableHeader.setDefaultRenderer
                        new SortableHeaderRenderer(this.tableHeader.getDefaultRenderer())
        public boolean isSorting()
            return sortingColumns.size() != 0;
        private Directive getDirective(int column)
            for (int i = 0; i < sortingColumns.size(); i++)
                Directive directive = (Directive)sortingColumns.get(i);
                if (directive.column == column)
                    return directive;
            return EMPTY_DIRECTIVE;
        public int getSortingStatus(int column)
            return getDirective(column).direction;
        private void sortingStatusChanged()
            clearSortingState();
            fireTableDataChanged();
            if (tableHeader != null)
                tableHeader.repaint();
        public void setSortingStatus(int column, int status)
            Directive directive = getDirective(column);
            if (directive != EMPTY_DIRECTIVE)
                sortingColumns.remove(directive);
            if (status != NOT_SORTED)
                sortingColumns.add(new Directive(column, status));
            sortingStatusChanged();
        protected Icon getHeaderRendererIcon(int column, int size)
            Directive directive = getDirective(column);
            if (directive == EMPTY_DIRECTIVE)
                return null;
            return new Arrow(directive.direction == DESCENDING, size, sortingColumns.indexOf(directive));
        private void cancelSorting()
            sortingColumns.clear();
            sortingStatusChanged();
        public void setColumnComparator(Class type, Comparator comparator)
            if (comparator == null)
                columnComparators.remove(type);
            else
                columnComparators.put(type, comparator);
        protected Comparator getComparator(int column)
            Class columnType = tableModel.getColumnClass(column);
            Comparator comparator = (Comparator) columnComparators.get(columnType);
            if (comparator != null)
                return comparator;
            if (Comparable.class.isAssignableFrom(columnType))
                return COMPARABLE_COMAPRATOR;
            return LEXICAL_COMPARATOR;
        private Row[] getViewToModel()
            if (viewToModel == null)
                int tableModelRowCount = tableModel.getRowCount();
                viewToModel = new Row[tableModelRowCount];
                for (int row = 0; row < tableModelRowCount; row++)
                    viewToModel[row] = new Row(row);
                if (isSorting())
                    Arrays.sort(viewToModel);
            return viewToModel;
        public int modelIndex(int viewIndex)
                 return getViewToModel()[viewIndex].modelIndex;     
        private int[] getModelToView()
            if (modelToView == null)
                int n = getViewToModel().length;
                modelToView = new int[n];
                for (int i = 0; i < n; i++)
                    modelToView[modelIndex(i)] = i;
            return modelToView;
        // TableModel interface methods
        public int getRowCount()
            return (tableModel == null) ? 0 : tableModel.getRowCount();
        public int getColumnCount()
            return (tableModel == null) ? 0 : tableModel.getColumnCount();
        public String getColumnName(int column)
            return tableModel.getColumnName(column);
        public Class getColumnClass(int column)
            return tableModel.getColumnClass(column);
        public boolean isCellEditable(int row, int column)
            return tableModel.isCellEditable(modelIndex(row), column);
        public Object getValueAt(int row, int column)
            return tableModel.getValueAt(modelIndex(row), column);
        public void setValueAt(Object aValue, int row, int column)
            tableModel.setValueAt(aValue, modelIndex(row), column);
        // Helper classes
        private class Row implements Comparable
            private int modelIndex;
            public Row(int index)
                this.modelIndex = index;
            public int compareTo(Object o)
                int row1 = modelIndex;
                int row2 = ((Row) o).modelIndex;
                for (Iterator it = sortingColumns.iterator(); it.hasNext();)
                    Directive directive = (Directive) it.next();
                    int column = directive.column;
                    Object o1 = tableModel.getValueAt(row1, column);
                    Object o2 = tableModel.getValueAt(row2, column);
                    int comparison = 0;
                    // Define null less than everything, except null.
                    if (o1 == null && o2 == null)
                        comparison = 0;
                    } else if (o1 == null)
                        comparison = -1;
                    } else if (o2 == null)
                        comparison = 1;
                    } else {
                        comparison = getComparator(column).compare(o1, o2);
                    if (comparison != 0)
                        return directive.direction == DESCENDING ? -comparison : comparison;
                return 0;
        private class TableModelHandler implements TableModelListener
            public void tableChanged(TableModelEvent e)
                // If we're not sorting by anything, just pass the event along.            
                if (!isSorting())
                    clearSortingState();
                    fireTableChanged(e);
                    return;
                // If the table structure has changed, cancel the sorting; the            
                // sorting columns may have been either moved or deleted from            
                // the model.
                if (e.getFirstRow() == TableModelEvent.HEADER_ROW)
                    cancelSorting();
                    fireTableChanged(e);
                    return;
                // We can map a cell event through to the view without widening            
                // when the following conditions apply:
                // a) all the changes are on one row (e.getFirstRow() == e.getLastRow()) and,
                // b) all the changes are in one column (column != TableModelEvent.ALL_COLUMNS) and,
                // c) we are not sorting on that column (getSortingStatus(column) == NOT_SORTED) and,
                // d) a reverse lookup will not trigger a sort (modelToView != null)
                // Note: INSERT and DELETE events fail this test as they have column == ALL_COLUMNS.
                // The last check, for (modelToView != null) is to see if modelToView
                // is already allocated. If we don't do this check; sorting can become
                // a performance bottleneck for applications where cells 
                // change rapidly in different parts of the table. If cells
                // change alternately in the sorting column and then outside of            
                // it this class can end up re-sorting on alternate cell updates -
                // which can be a performance problem for large tables. The last
                // clause avoids this problem.
                int column = e.getColumn();
                if (e.getFirstRow() == e.getLastRow()
                        && column != TableModelEvent.ALL_COLUMNS
                        && getSortingStatus(column) == NOT_SORTED
                        && modelToView != null)
                    int viewIndex = getModelToView()[e.getFirstRow()];
                    fireTableChanged(new TableModelEvent(TableSorter.this,
                                                         viewIndex, viewIndex,
                                                         column, e.getType()));
                    return;
                // Something has happened to the data that may have invalidated the row order.
                clearSortingState();
                fireTableDataChanged();
                return;
        private class MouseHandler extends MouseAdapter
            public void mouseClicked(MouseEvent e)
                JTableHeader h = (JTableHeader) e.getSource();
                TableColumnModel columnModel = h.getColumnModel();
                int viewColumn = columnModel.getColumnIndexAtX(e.getX());
                int column = columnModel.getColumn(viewColumn).getModelIndex();
                if (column != -1)
                    int status = getSortingStatus(column);
                    if (!e.isControlDown())
                        cancelSorting();
                    // Cycle the sorting states through {NOT_SORTED, ASCENDING, DESCENDING} or
                    // {NOT_SORTED, DESCENDING, ASCENDING} depending on whether shift is pressed.
                    status = status + (e.isShiftDown() ? -1 : 1);
                    status = (status + 4) % 3 - 1; // signed mod, returning {-1, 0, 1}
                    setSortingStatus(column, status);
        private static class Arrow implements Icon
            private boolean descending;
            private int size;
            private int priority;
            public Arrow(boolean descending, int size, int priority)
                this.descending = descending;
                this.size = size;
                this.priority = priority;
            public void paintIcon(Component c, Graphics g, int x, int y)
                Color color = c == null ? Color.GRAY : c.getBackground();            
                // In a compound sort, make each succesive triangle 20%
                // smaller than the previous one.
                int dx = (int)(size/2*Math.pow(0.8, priority));
                int dy = descending ? dx : -dx;
                // Align icon (roughly) with font baseline.
                y = y + 5*size/6 + (descending ? -dy : 0);
                int shift = descending ? 1 : -1;
                g.translate(x, y);
                // Right diagonal.
                g.setColor(color.darker());
                g.drawLine(dx / 2, dy, 0, 0);
                g.drawLine(dx / 2, dy + shift, 0, shift);
                // Left diagonal.
                g.setColor(color.brighter());
                g.drawLine(dx / 2, dy, dx, 0);
                g.drawLine(dx / 2, dy + shift, dx, shift);
                // Horizontal line.
                if (descending) {
                    g.setColor(color.darker().darker());
                } else {
                    g.setColor(color.brighter().brighter());
                g.drawLine(dx, 0, 0, 0);
                g.setColor(color);
                g.translate(-x, -y);
            public int getIconWidth()
                return size;
            public int getIconHeight()
                return size;
        private class SortableHeaderRenderer implements TableCellRenderer
            private TableCellRenderer tableCellRenderer;
            public SortableHeaderRenderer(TableCellRenderer tableCellRenderer)
                this.tableCellRenderer = tableCellRenderer;
            public Component getTableCellRendererComponent(JTable table,
                                                           Object value,
                                                           boolean isSelected,
                                                           boolean hasFocus,
                                                           int row,
                                                           int column)
                Component c = tableCellRenderer.getTableCellRendererComponent(table,
                        value, isSelected, hasFocus, row, column);
                if (c instanceof JLabel) {
                    JLabel l = (JLabel) c;
                    l.setHorizontalTextPosition(JLabel.LEFT);
                    int modelColumn = table.convertColumnIndexToModel(column);
                    l.setIcon(getHeaderRendererIcon(modelColumn, l.getFont().getSize()));
                return c;
        private static class Directive
            private int column;
            private int direction;
            public Directive(int column, int direction)
                this.column = column;
                this.direction = direction;
    }any input will be appreciated.
    thanks
    Peter

    The code you posted doesn't help us at all. Its just a duplicate of the code from the tutorial. The custom code is what you have written. For example do you update the TableModel from the Event Thread? Do you update the SortModel or the DefaultTableModel? If you actually provide your test code and somebody has already downloaded the sort classes, then maybe they will test your code against the classes. But I doubt if people will download the sort classes and create a test program just to see if they can duplicate your results (at least I know I'm not about to).

  • Adding a new field to a Z table

    We have a Z table on which we have created a datasource. We have created a virtual cube on this datasource and queries are built on this cube. This setup is present on Dev, Quality and Prod environment.
    Now we have added a new field to the Z table in Dev. We will be creating a new Infoobject for this new field and will be adding it in the Virtual Infoprovider and also in the queries.
    1. Do we need to replicate the datasource so that newly added field is visible to the datasource? If no, is there any way?
    2. When I have to transport this to Quality and Prod, do I have to capture all the components and objects (Table,Datasoure,Virtual Cube Queries)? If no, what should I capture in the transport request?

    Hi,
    First, you have to regenerate the datasource in order to add the field:
    1) Log on to source system (where Z table is stored) and go to transaction RSA6.
    2) Select the root node and click Expand (icon with '+' sign).
    3) Search for your datasource (you can use the binoculars icon).
    4) Click on Change.
    5) Verify that the field appears on the list.  Make sure that "Hide field" and "Field only known on client exit" options are not marked for this field.
    6) Click on Save.
    7) Select "Datasource" -> "Generate" (CTRL+S) menu option.
    8) Use RSA3 transaction in order to verify the new field appears on test extractions.
    Then, to replicate the datasource in BI:
    1) Log on to SAP BI and go to RSA1 transaction.
    2) Go to "Modeling" -> "DataSources" section.
    3) Search for your datasource and right click on it.  Select "Replicate metadata" from context menu.
    4) Add the new InfoObject to the VirtualProvider.
    5) Update the transformation which joins the DataSource to the VirtualProvider.
    As far as transport requests are concerned, even though it requires more work, it is a good practice to group objects in different transport requests according to their type:
    In the source System (R3 for instance):
    1) One transport request with the table.
    2) One transport request with the datasource and its structure.
    In BI:
    1) One transport order with the datasource replica.
    2) One transport order with the new InfoObject(s).
    3) One transport order with the modified VirtualProvider.
    4) One transport order with the modified transformations from the datasource towards the VirtualProvider.
    5) One transport order with the Queries and their elements.
    I hope this helps you.
    Regards,
    Maximiliano

  • Adding new fields to assignment block, what are the steps to do this.

    CRM 7.
    Could someone tell me what the steps are to add new fields to specifdic assignment block. Assume that these fields do not already exist in any given structure/table.
    My understanding is that I need to use transaction EEWB and then somehow use the component  "BSP_DLC_FS" and view "factsheet". But having never used EEWB before I'ma tad lost.  I'm in EEWB and have crfeated a project and believe that I now need to create an extension. When doing this I am displayed a box with 4 fields, being: Name, Description, EEW Bus object and Extension type. What are my next steps?
    I assume that the EEW bus object is 'BUPA' and the extension type is 'ADD_NEW_FIELDS'. However, how do I know for sure that the EEW bus object should be 'BUPA', bearing in mind that I'm adding new fields to the Account (BP) main address communication data Assignemnt block?.
    I wondered if anyone has a link to any guide docuemnt about how to do this?.
    Any help would be very much appreciated.
    I attempted to use EEWB to add new fields to BUPA but am hitting the error: BDT-DC is Not Prepared for This Application Object
    On searching I can see that there are ways around this, via SM30 against table/view V_TBZ1_DC, changing the BDT BC settings, whatever they are. But it gives me a warning when this happens and mentions that only SAP are allowed to do this, but it will allow me to create a transport if I press on past this. Should I need to make this change though, or have I just done something wrong within EEWB I wonder.
    Jason

    Hi Jason,
    You can try using Application Enhancement Tool (AET) to create new fields instead of EEWB,
    Best Regards,
    Gobinda

  • Adding new fields in the layout.

    Hi gurus,
    I have a requirement in which i need to change the layout of a report v.25 through transaction VOKF. Actually i have added one field VDATU in the table VBMTV and the fields of this table are getting displayed in the output but not all fields. so through the transaction VOKF a variant has been created with some fields and there is also option for additional fields addition. But the field which I have added new through append structure doesnt appear in the possible value fields.
    So do anyone have any solution for this or if anyone has ever encountered this type of issue.
    Thanks in advance.

    I have added the field VDATU in the Structure VBMTV and the structure is active. This field is getting filled in the my Standard report and and is displayed only when change the layout after displaying the output.My requirement i need this field by default in the output.
    Thanks in advance.

  • Question regarding adding new field to an infoset.

    Hi all!
    Actually i am not a programmer but HR functional, but i need to add an additional field to my infoset.
    I wanted to do it myself without ABAPers help.
    I have already added new field to an infoset and included a code:
    TABLES HRP1000.
    SELECT SINGLE short INTO ORG_UNIT_SHORT
           FROM hrp1000 WHERE objid = p0001-orgeh.
    And it almost works. The thing is, when on the report (sap query) a person have value '00000000' in the p0001-orgeh the report enters value into ORG_UNIT_SHORT from the previous record (of another employee).
    How to avoid this? i suppose i have to assign this field an initial value at the begining of the code (how?).. or?? as i said i just try to make first steps in abap programming...

    Ok, i have found a solution (clear statement)

  • SRM 7.0 Account assignment adding new field Profit_ctr

    Hello All
    I am hoping that someone has done this in SRM 7.0 and can help me out.
    I have added PROFIT_CTR field to Account Assignment tab for SC.
    We have already followed the instructions in OSS note 1082243 and added PROFIT_CTR field to the 2 tables BBP_C_ACCF and BBP_C_ACCFD. The field is available in configuration for creating a new account assignment category using PROFIT_CTR field.
    In WDC, implicit enhancement was created and layout changed to make the field available in the view. The field already exists in the context so no other development was done.
    The PROFIT_CTR field is now available in Assignment tab for input SC is created.
    Also, configuration is done in PPOMA to default u201CProfit Centeru201D as the account assignment category.
    The problem is that during the SC creation , in the Account Assignment line, field  u201CAssign Numberu201D is still pointing at GL account (it is defaulted to GL Account) and not Profit Center value.  I would have expected u201CAssign Numberu201D field to contain profit center value and not GL Account.
    What further changes are needed?
    Looking forward to any suggestions..
    Thank you

    Hi Raj,
    Here is the documentation on how we did this when we were in 7.01.
    Version 20.0 - :
        The new requirement needs Profit center as one of the Account assignment category.
                      In order to get the profit center an implicit enhancement is required as SAP suggested.
                                        Please see SAP’s response at the bottom of this version.
    Enable Profit Center Field:
          1.) Enhance the class /SAPSRM/CL_PDO_ACCT_ASSGT_HLPR by creating a new post-exit for method GET_ACCCAT_TECHFIELDS.
       2.) Within the post-exit modify the field (ACC_FIELD) with new value
    ‘PROFIT_CTR’ of internal table ET_ACCCAT_TECHFIELD where ACC_CAT = ‘PR’.
          3.) This enables Profit center as one of the Account assignment Category.
    Version 22.0 - :
    Enable Profit Center F4 in UI:
    4.)  Enhance view V_DO_ACCOUNTING of component /SAPSRM/WDC_UI_DO_ACC.
    5.) Create a post-exit for method WDDOINIT of view V_DO_ACCOUNTING.
                                        6.) Within the post-exit set the value help to Application Defined. See below code.
                                                    CALL METHOD lo_nd_info->set_attribute_value_help
    EXPORTING
    name = 'PROFIT_CTR' " ContextAttribute Name                                 
    value_help_mode = '141' " value help mode–Application Defined.
    value_help = 'USAGE_SH_F4'. " Search help component usage.
       This enables the F4 input help for field Profit Center. Since it’s a search help in ECC and wanted to be displayed in SRM, additional development is required to bring in the F4 Popup screen.
    Enable Profit Center F4 Pop-up Screen:
    7.) Enhance the component controller of component /SAPSRM/WDC_UI_BACKEND_SH.
    8.) Create a post-exit for method SET_BAPI_PARAMETER of the component controller.
    9.) Within the post-exit set the Business objects parameters as follow
    DATA ls_bapi_parameter TYPE if_componentcontroller=>element_bapi_parameter.
    DATA lr_node           TYPE REF TO if_wd_context_node.
    lr_node = wd_context->get_child_node( 'BAPI_PARAMETER' ).
    IF iv_field EQ 'PROFIT_CTR'.                                       
    ls_bapi_parameter-objtype   = 'BUS0015'.
    ls_bapi_parameter-objname   = 'BUS0015'.
    ls_bapi_parameter-param     = 'PROFITCENTER'.
    ls_bapi_parameter-method    = 'GETLIST'.
    ls_bapi_parameter-field     = 'PROFITCENTER'.
    ls_bapi_parameter-shlpname  = 'PRCTR_EMPTY'.
    ls_bapi_parameter-shlpparam = 'PRCTR'.
    ls_bapi_parameter-FIELD_DESC = 'TXT50'.
    ENDIF.
    IF ls_bapi_parameter IS NOT INITIAL.
    lr_node->bind_structure( new_item = ls_bapi_parameter ).
    ENDIF.
    Setting these values enables the F4 Popup screen.
    Move Selected Value from Pop-up to profit center field in screen.
    10.) Once value is selected from the pop-up it should be moved to the
    profit center screen field.
    11.) In order to do that read the context Node ‘SELECTION’. This node contains
    the selected value.
    12.) Now move the selected value to the profit center field in context node
           ‘COMP_CONTEXT.’     
      lr_node = wd_context->get_child_node( 'SELECTION' ).
    lr_node->get_static_attributes( IMPORTING static_attributes = ls_selection ).
    lr_node = wd_context->get_child_node( 'COMP_CONTEXT' ).
    lr_node = lr_node->get_child_node( ls_selection-node_name ).
    lr_node->get_static_attributes( EXPORTING index = ls_selection-index
    IMPORTING static_attributes = ls_content ).
    Version 23.0 - :
            1.) Need to raise a warning message in Shopping cart whenever the profit center is
    Set to “PCDUMMY”.
    2.) Edit BAdI Implementation ZCL_IM__SRM_SEI_ITEM_CHECK. Add the warning message in method IF_EX_BBP_ITEM_CHECK_BADI~BBP_ITEM_CHECK by appending a new line with error message to export table ET_MESSAGES.
    Version 23.0 -
      1.) Create a customer field called ZPR_DESCRIPTION for accommodating profit center description. This is done by appending the field to structure INCL_EEW_PD_ACC_CSF.
    2.)  Create a RFC in ECC which would read table CEPCT to read profit center text. This Function module is called Z_FI_GET_PROFIT_CENTER_TEXT.
            SELECT SINGLE MCTXT FROM cepct
    INTO EV_PROFIT_CTR_TEXT WHERE spras = sy-langu
    AND   prctr = IV_profit_ctr
    AND   datbi >= sy-datum
    AND   kokrs = IV_controlling_area.
    IF sy-subrc NE 0.
    RAISE PROFIT_CTR_NOT_FOUND.
    ENDIF.
    3.) Within BAdI  ZCL_IM__SRM_DOC_CHANGE_BAD call the function module
          Z_FI_GET_PROFIT_CENTER_TEXT. Read profit center text and fill the
    Customer field ZPR_DESCRIPTION.
    SAP's Response for when I raised a message about profit center.  This is what helped us to start.
    Dear Customer,
    In the account overview screen, for custom account assignment
    categories, the GL account field would be shown in the 'Assigned to'
    column by default. However, if you go to the account assignment detail,
    you are able to use the search help for the profit_ctr field.
    As the fields are binded dynamically, only through a modification you
    would populate profit_ctr automatically.
    From the SRM 6.0 release onwards, the account assignment overview screenwas changed such that for the custom account leading fields, always the
    GL account would be shown. This was changed because, earlier when the
    leading field was a customer field, it was not possible to show the
    account description in the overview screen and it remained empty. This
    was creating confusion for the users.
    For the new releases, it was decided that when the leading field is a
    customer field, the GL account and its description would be shown in theoverview screen. The coding for the same has been implemented in the
    method /SAPSRM/IF_PDO_ACCT_ASSGT_HLPR~GET_ACCCAT_TECHFIELDS(class
    /SAPSRM/CL_PDO_ACCT_ASSGT_HLPR).
    WHEN OTHERS.
    ls_accf-acc_field =
    /sapsrm/if_pdo_action_c=>gc_acc_obj_gl_account.
    ls_acc_cat_techfield-desc_field =
    /sapsrm/if_pdo_action_c=>gc_acc_cat_gl_desc.
    ENDCASE.

  • Error on MIGO with added new field that was not pass empty

    Hello,
    I added new field and screen to MIGO with MB_MIGO_BADI using Sample
    Code. It seems on MIGO. But when i pass empty this new field, i take an
    error message. So how can i pass empty for this new field?
    Best regards,
    Munur

    I send all methods codes by order :
    Moderator message - Please respect the 5,000 character maximum when posting. Post only the relevant portions of code
    Edited by: Rob Burbank on Jan 11, 2011 5:12 PM

  • Full server pool crashes when adding new iSCSI server

    Hi,
    we have a Pool Group with 2 machines (1 Server Pool Master + Server Virtual Machine + Utility Server and another 1 Server Virtual Machine). Both have a iSCSI Shared Disk which builds /OVS partition.
    This is working, we can use High Availability, Migrate guests etc.
    But when adding new Server Virtual Machines to the pool (with guests running), current machines in the Pools get restarted.
    My question is, can server virtual machines be "hot added" to the pool group while guests are running?
    Thanks and regards,
    Marc

    Hi,
    hosts file seems to be correct.
    Messages logs during the crash time are the following:
    Node vmserver15 = Server Pool Master, Utility Master and Server Virtual Machine
    Dec 10 12:40:02 vmserver15 kernel: vlan500: port 3(vif6.0) entering disabled state
    Dec 10 12:40:02 vmserver15 kernel: device vif6.0 left promiscuous mode
    Dec 10 12:40:02 vmserver15 kernel: type=1700 audit(1260445202.434:16): dev=vif6.0 prom=0 old_prom=256 auid=4294967295 ses=4294967295
    Dec 10 12:40:02 vmserver15 kernel: vlan500: port 3(vif6.0) entering disabled state
    Dec 10 12:40:02 vmserver15 kernel: loop10: dropped 10114 extents
    Dec 10 12:40:03 vmserver15 udhcpc: udhcp client (v0.9.8) started
    Dec 10 12:40:03 vmserver15 udhcpc: Lease of 193.109.175.25 obtained, lease time 172800
    Dec 10 12:40:04 vmserver15 kernel: device vif7.0 entered promiscuous mode
    Dec 10 12:40:04 vmserver15 kernel: type=1700 audit(1260445204.774:17): dev=vif7.0 prom=256 old_prom=0 auid=4294967295 ses=4294967295
    Dec 10 12:40:04 vmserver15 kernel: vlan500: topology change detected, propagating
    Dec 10 12:40:04 vmserver15 kernel: vlan500: port 3(vif7.0) entering forwarding state
    Dec 10 12:40:05 vmserver15 kernel: loop10: fast redirect
    Dec 10 12:40:06 vmserver15 kernel: blkback: ring-ref 770, event-channel 9, protocol 1 (x86_32-abi)
    Dec 10 12:53:35 vmserver15 kernel: o2net: no longer connected to node vmserver10.pic.es (num 1) at 193.109.174.110:7777
    Dec 10 12:53:36 vmserver15 kernel: (4989,0):o2hb_do_disk_heartbeat:776 ERROR: Device "sdb1": another node is heartbeating in our slot!
    Dec 10 12:53:37 vmserver15 kernel: o2net: accepted connection from node vmserver10.pic.es (num 1) at 193.109.174.110:7777
    Dec 10 12:53:38 vmserver15 kernel: (4989,0):o2hb_do_disk_heartbeat:776 ERROR: Device "sdb1": another node is heartbeating in our slot!
    Dec 10 12:53:50 vmserver15 last message repeated 6 times
    Dec 10 12:53:51 vmserver15 kernel: o2net: no longer connected to node vmserver10.pic.es (num 1) at 193.109.174.110:7777
    Dec 10 12:53:52 vmserver15 kernel: (4989,0):o2hb_do_disk_heartbeat:776 ERROR: Device "sdb1": another node is heartbeating in our slot!
    Dec 10 12:53:53 vmserver15 kernel: o2net: accepted connection from node vmserver10.pic.es (num 1) at 193.109.174.110:7777
    Dec 10 12:53:53 vmserver15 kernel: (5638,0):dlm_send_remote_convert_request:393 ERROR: dlm status = DLM_IVLOCKID+
    Dec 10 12:53:53 vmserver15 kernel: (5638,0):dlmconvert_remote:327 ERROR: dlm status = DLM_IVLOCKID+
    Dec 10 12:53:53 vmserver15 kernel: (5638,0):ocfs2_cluster_lock:1206 ERROR: DLM error DLM_IVLOCKID while calling dlmlock on resource M000000000000000001050c00000000: bad lockid+
    Dec 10 12:53:53 vmserver15 kernel: (5638,0):ocfs2_inode_lock_full:2064 ERROR: status = -22+
    Dec 10 12:53:53 vmserver15 kernel: (5638,0):ocfs2_inode_lock_atime:2193 ERROR: status = -22+
    Dec 10 12:53:53 vmserver15 kernel: (5638,0):__ocfs2_file_aio_read:2434 ERROR: status = -22+
    Dec 10 12:53:53 vmserver15 kernel: (5638,0):dlm_send_remote_convert_request:393 ERROR: dlm status = DLM_IVLOCKID+
    Dec 10 12:53:53 vmserver15 kernel: (5638,0):dlmconvert_remote:327 ERROR: dlm status = DLM_IVLOCKID+
    Dec 10 12:53:53 vmserver15 kernel: (5638,0):ocfs2_cluster_lock:1206 ERROR: DLM error DLM_IVLOCKID while calling dlmlock on resource M000000000000000001050c00000000: bad lockid+
    Dec 10 12:53:53 vmserver15 kernel: (5638,0):ocfs2_inode_lock_full:2064 ERROR: status = -22+
    Dec 10 12:53:53 vmserver15 kernel: (5638,0):ocfs2_write_begin:1845 ERROR: status = -22+
    Dec 10 12:53:53 vmserver15 kernel: (5638,0):ocfs2_file_buffered_write:2016 ERROR: status = -22+
    Dec 10 12:53:53 vmserver15 kernel: (5638,0):__ocfs2_file_aio_write:2173 ERROR: status = -22+
    Dec 10 12:53:58 vmserver15 kernel: (7923,0):dlm_send_remote_convert_request:393 ERROR: dlm status = DLM_IVLOCKID+
    Dec 10 12:53:58 vmserver15 kernel: (7923,0):dlmconvert_remote:327 ERROR: dlm status = DLM_IVLOCKID+
    Dec 10 12:53:58 vmserver15 kernel: (7923,0):ocfs2_cluster_lock:1206 ERROR: DLM error DLM_IVLOCKID while calling dlmlock on resource M000000000000000000020744c1370e: bad lockid+
    Dec 10 12:53:58 vmserver15 kernel: (7923,0):ocfs2_inode_lock_full:2064 ERROR: status = -22+
    Dec 10 12:53:58 vmserver15 kernel: (7923,0):ocfs2_reserve_suballoc_bits:449 ERROR: status = -22+
    Dec 10 12:53:58 vmserver15 kernel: (7923,0):ocfs2_reserve_cluster_bitmap_bits:682 ERROR: status = -22+
    Dec 10 12:53:58 vmserver15 kernel: (7923,0):ocfs2_local_alloc_reserve_for_window:930 ERROR: status = -22+
    Dec 10 12:53:58 vmserver15 kernel: (7923,0):ocfs2_local_alloc_slide_window:1063 ERROR: status = -22+
    Dec 10 12:53:58 vmserver15 kernel: (7923,0):ocfs2_reserve_local_alloc_bits:537 ERROR: status = -22+
    Dec 10 12:53:58 vmserver15 kernel: (7923,0):__ocfs2_reserve_clusters:725 ERROR: status = -22+
    Dec 10 12:53:58 vmserver15 kernel: (7923,0):ocfs2_lock_allocators:677 ERROR: status = -22+
    Dec 10 12:53:58 vmserver15 kernel: (7923,0):ocfs2_write_begin_nolock:1751 ERROR: status = -22+
    Dec 10 12:53:58 vmserver15 kernel: (7923,0):ocfs2_write_begin:1861 ERROR: status = -22+
    Dec 10 12:53:58 vmserver15 kernel: (7923,0):ocfs2_file_buffered_write:2016 ERROR: status = -22+
    Dec 10 12:53:58 vmserver15 kernel: (7923,0):__ocfs2_file_aio_write:2173 ERROR: status = -22+
    Dec 10 12:53:58 vmserver15 kernel: loop: Write error at byte offset 37644512256, length 4096.+
    . <the above bold and cursive text is repetead few times>
    Dec 10 12:58:29 vmserver15 kernel: (5638,3):dlmconvert_remote:327 ERROR: dlm status = DLM_IVLOCKID
    Dec 10 12:58:29 vmserver15 kernel: (5638,3):ocfs2_cluster_lock:1206 ERROR: DLM error DLM_IVLOCKID while calling dlmlock on resource M000000000000000001050c00000000: bad lockid
    Dec 10 12:58:29 vmserver15 kernel: (5638,3):ocfs2_inode_lock_full:2064 ERROR: status = -22
    Dec 10 12:58:29 vmserver15 kernel: (5638,3):ocfs2_write_begin:1845 ERROR: status = -22
    Dec 10 12:58:29 vmserver15 kernel: (5638,3):ocfs2_file_buffered_write:2016 ERROR: status = -22
    Dec 10 12:58:29 vmserver15 kernel: (5638,3):__ocfs2_file_aio_write:2173 ERROR: status = -22
    Dec 10 13:01:16 vmserver15 syslogd 1.4.1: restart.
    Node vmserver10: Virtual Server Machine
    Dec 10 12:53:35 vmserver10 kernel: o2net: no longer connected to node vmserver15.pic.es (num 0) at 193.109.174.115:7777
    Dec 10 12:53:35 vmserver10 kernel: (5029,0):ocfs2_dlm_eviction_cb:98 device (8,17): dlm has evicted node 0
    Dec 10 12:53:35 vmserver10 kernel: (20996,0):dlm_get_lock_resource:844 E3FE9E5767CA457FA697980EB637E93B:M000000000000000000022044c1370e: at least one node (0) to recover before lock mastery can begin
    Dec 10 12:53:36 vmserver10 kernel: (5344,4):dlm_get_lock_resource:844 E3FE9E5767CA457FA697980EB637E93B:$RECOVERY: at least one node (0) to recover before lock mastery can begin
    Dec 10 12:53:36 vmserver10 kernel: (5344,4):dlm_get_lock_resource:878 E3FE9E5767CA457FA697980EB637E93B: recovery map is not empty, but must master $RECOVERY lock now
    Dec 10 12:53:36 vmserver10 kernel: (5344,4):dlm_do_recovery:524 (5344) Node 1 is the Recovery Master for the Dead Node 0 for Domain E3FE9E5767CA457FA697980EB637E93B
    Dec 10 12:53:36 vmserver10 kernel: (20996,0):ocfs2_replay_journal:1183 Recovering node 0 from slot 0 on device (8,17)
    Dec 10 12:53:37 vmserver10 kernel: o2net: connected to node vmserver15.pic.es (num 0) at 193.109.174.115:7777
    Dec 10 12:53:38 vmserver10 kernel: (8672,1):dlm_get_lock_resource:844 ovm:$RECOVERY: at least one node (0) to recover before lock mastery can begin
    Dec 10 12:53:38 vmserver10 kernel: (8672,1):dlm_get_lock_resource:878 ovm: recovery map is not empty, but must master $RECOVERY lock now
    Dec 10 12:53:38 vmserver10 kernel: (8672,1):dlm_do_recovery:524 (8672) Node 1 is the Recovery Master for the Dead Node 0 for Domain ovm
    Dec 10 12:53:40 vmserver10 kernel: kjournald starting. Commit interval 5 seconds
    Dec 10 12:53:51 vmserver10 kernel: o2net: no longer connected to node vmserver15.pic.es (num 0) at 193.109.174.115:7777
    Dec 10 12:53:53 vmserver10 kernel: o2net: connected to node vmserver15.pic.es (num 0) at 193.109.174.115:7777
    Dec 10 12:53:53 vmserver10 kernel: (3761,0):dlm_convert_lock_handler:489 ERROR: did not find lock to convert on grant queue! cookie=0:92+
    Dec 10 12:53:53 vmserver10 kernel: lockres: M000000000000000001050c0000000, owner=1, state=0+
    Dec 10 12:53:53 vmserver10 kernel:   last used: 0, refcnt: 3, on purge list: no+
    Dec 10 12:53:53 vmserver10 kernel:   on dirty list: no, on reco list: no, migrating pending: no+
    Dec 10 12:53:53 vmserver10 kernel:   inflight locks: 0, asts reserved: 0+
    *Dec 10 12:53:53 vmserver10 kernel:   refmap nodes: [ ], inflight=0*+
    Dec 10 12:53:53 vmserver10 kernel:   granted queue:+
    Dec 10 12:53:53 vmserver10 kernel:     type=5, conv=-1, node=1, cookie=1:243, ref=2, ast=(empty=y,pend=n), bast=(empty=y,pend=n), pending=(conv=n,lock=n,cancel=n,unlock=n)+
    Dec 10 12:53:53 vmserver10 kernel:   converting queue:+
    Dec 10 12:53:53 vmserver10 kernel:   blocked queue:+
    . <the above bold and cursive text is repetead few times>
    Dec 10 12:57:18 vmserver10 modprobe: FATAL: Module ocfs2_stackglue not found.
    Dec 10 12:57:18 vmserver10 kernel: (3761,0):dlm_convert_lock_handler:489 ERROR: did not find lock to convert on grant queue! cookie=0:92+
    Dec 10 12:57:18 vmserver10 kernel: lockres: M000000000000000001050c0000000, owner=1, state=0+
    Dec 10 12:57:18 vmserver10 kernel:   last used: 0, refcnt: 3, on purge list: no+
    Dec 10 12:57:18 vmserver10 kernel:   on dirty list: no, on reco list: no, migrating pending: no+
    Dec 10 12:57:18 vmserver10 kernel:   inflight locks: 0, asts reserved: 0+
    *Dec 10 12:57:18 vmserver10 kernel:   refmap nodes: [ ], inflight=0*+
    Dec 10 12:57:18 vmserver10 kernel:   granted queue:+
    Dec 10 12:57:18 vmserver10 kernel:     type=5, conv=-1, node=1, cookie=1:243, ref=2, ast=(empty=y,pend=n), bast=(empty=y,pend=n), pending=(conv=n,lock=n,cancel=n,unlock=n)+
    Dec 10 12:57:18 vmserver10 kernel:   converting queue:+
    Dec 10 12:57:18 vmserver10 kernel:   blocked queue:+
    . <the above bold and cursive text is repetead few times>
    Dec 10 12:58:32 vmserver10 kernel: (3761,0):dlm_unlock_lock_handler:511 ERROR: failed to find lock to unlock! cookie=0:1849
    Dec 10 12:58:33 vmserver10 modprobe: FATAL: Module ocfs2_stackglue not found.
    Dec 10 12:59:02 vmserver10 kernel: o2net: connection to node vmserver15.pic.es (num 0) at 193.109.174.115:7777 has been idle for 30.0 seconds, shutting it down.
    Dec 10 12:59:02 vmserver10 kernel: (0,0):o2net_idle_timer:1503 here are some times that might help debug the situation: (tmr 1260446312.830107 now 1260446342.828243 dr 1260446312.830066 adv 1260446312.830319:1260446312.830320 func (b9f5fd13:506) 1260446312.830109:1260446312.830303)
    Dec 10 12:59:02 vmserver10 kernel: o2net: no longer connected to node vmserver15.pic.es (num 0) at 193.109.174.115:7777
    Dec 10 12:59:32 vmserver10 kernel: (3761,0):o2net_connect_expired:1664 ERROR: no connection established with node 0 after 30.0 seconds, giving up and returning errors.
    Dec 10 13:01:42 vmserver10 kernel: o2net: connected to node vmserver15.pic.es (num 0) at 193.109.174.115:7777
    Dec 10 13:01:45 vmserver10 kernel: ocfs2_dlm: Node 0 joins domain E3FE9E5767CA457FA697980EB637E93B
    Dec 10 13:01:45 vmserver10 kernel: ocfs2_dlm: Nodes in domain ("E3FE9E5767CA457FA697980EB637E93B"): 0 1
    Dec 10 13:01:51 vmserver10 kernel: o2net: accepted connection from node vmserver16.pic.es (num 2) at 193.109.174.116:7777
    Dec 10 13:01:56 vmserver10 kernel: ocfs2_dlm: Node 2 joins domain E3FE9E5767CA457FA697980EB637E93B
    Dec 10 13:01:56 vmserver10 kernel: ocfs2_dlm: Nodes in domain ("E3FE9E5767CA457FA697980EB637E93B"): 0 1 2
    Dec 10 13:09:05 vmserver10 modprobe: FATAL: Module ocfs2_stackglue not found.
    Dec 10 13:16:45 vmserver10 kernel: o2net: connection to node vmserver16.pic.es (num 2) at 193.109.174.116:7777 has been idle for 30.0 seconds, shutting it down.
    Dec 10 13:16:45 vmserver10 kernel: (0,0):o2net_idle_timer:1503 here are some times that might help debug the situation: (tmr 1260447375.655426 now 1260447405.655712 dr 1260447375.655413 adv 1260447375.655427:1260447375.655427 func (b9f5fd13:503) 1260446516.75600:1260446516.75608)
    Dec 10 13:16:45 vmserver10 kernel: o2net: no longer connected to node vmserver16.pic.es (num 2) at 193.109.174.116:7777
    Dec 10 13:17:15 vmserver10 kernel: (3761,0):o2net_connect_expired:1664 ERROR: no connection established with node 2 after 30.0 seconds, giving up and returning errors.
    Dec 10 13:17:19 vmserver10 kernel: (5029,0):ocfs2_dlm_eviction_cb:98 device (8,17): dlm has evicted node 2
    Dec 10 13:17:20 vmserver10 kernel: (3761,0):ocfs2_dlm_eviction_cb:98 device (8,17): dlm has evicted node 2
    Dec 10 13:29:05 vmserver10 kernel: o2net: no longer connected to node vmserver15.pic.es (num 0) at 193.109.174.115:7777
    Dec 10 13:29:05 vmserver10 kernel: (5029,0):ocfs2_dlm_eviction_cb:98 device (8,17): dlm has evicted node 0
    Dec 10 13:29:06 vmserver10 kernel: (5344,4):dlm_get_lock_resource:844 E3FE9E5767CA457FA697980EB637E93B:$RECOVERY: at least one node (0) to recover before lock mastery can begin
    Dec 10 13:29:06 vmserver10 kernel: (5344,4):dlm_get_lock_resource:878 E3FE9E5767CA457FA697980EB637E93B: recovery map is not empty, but must master $RECOVERY lock now
    Dec 10 13:29:06 vmserver10 kernel: (5344,4):dlm_do_recovery:524 (5344) Node 1 is the Recovery Master for the Dead Node 0 for Domain E3FE9E5767CA457FA697980EB637E93B
    Dec 10 13:29:06 vmserver10 kernel: (28412,0):ocfs2_replay_journal:1183 Recovering node 0 from slot 0 on device (8,17)
    Dec 10 13:29:09 vmserver10 kernel: kjournald starting. Commit interval 5 seconds
    Dec 10 13:29:16 vmserver10 kernel: o2net: accepted connection from node vmserver16.pic.es (num 2) at 193.109.174.116:7777
    Dec 10 13:29:20 vmserver10 kernel: ocfs2_dlm: Node 2 joins domain E3FE9E5767CA457FA697980EB637E93B
    Dec 10 13:29:20 vmserver10 kernel: ocfs2_dlm: Nodes in domain ("E3FE9E5767CA457FA697980EB637E93B"): 1 2
    Dec 10 13:32:08 vmserver10 kernel: o2net: connected to node vmserver15.pic.es (num 0) at 193.109.174.115:7777
    Dec 10 13:32:11 vmserver10 kernel: ocfs2_dlm: Node 0 joins domain E3FE9E5767CA457FA697980EB637E93B
    Dec 10 13:32:11 vmserver10 kernel: ocfs2_dlm: Nodes in domain ("E3FE9E5767CA457FA697980EB637E93B"): 0 1 2
    Dec 10 13:36:10 vmserver10 shutdown[28681]: shutting down for system reboot+
    I will investigate what seems to be going on and post it here.
    Thanks for your help.
    Edited by: Marc Caubet on 11-Dec-2009 02:05
    Edited by: Marc Caubet on 11-Dec-2009 02:07

  • Adding new fields from CI Include to Standard SAP Screen

    Hi All,
    I am enhancing Infotype 0487. I have added new fields to the CI include and created the screen fields in subscreen 0200 with reference to the data dictionary fields. When I test the subscreen alone, the new fields are displaying correctly and F4 help is active. But when I view the whole screen(2000) in PA30, the new field is inactive and I am not able to enter data. Also F4 help option is present for the field but when it is selected, a message 'No Values Found'  is displayed. Please suggest some solution.
    Thanks in advance
    Regards,
    Sivasankari
    Edited by: Julynila on Oct 7, 2010 10:41 AM

    Hi,
    This might be the standard transaction, so there is a possibility of adding the fields using the Screen variants using SPRO, get in touch with your functional consultant. there you can copy an existing screen and add the required fields and rename the screen to different number, and in the config this new screen can be added.
    Thanks,
    Srini.

  • Adding new field to MB51 screen output

    Hi All,
    I need to add a new field TCODE2 from MKPF table on the screen output of MB51. I have added my new field thro SPRO following the below steps:-
    Go to SPRO -- MM -- Inventory Management and Physical Inventory -- Reporting -- Define Field Selection for Material Document List
    Here I have give
    RM07DOCS MKPF TCODE2 Transaction code -- output box checked
    and saved.
    Now I  tried to re-execute the transaction MB51 but not able to see the Tcode2 on the output screen .
    Can any one help me out, if I am missing out something or is there any thing else i need to check on the ALV output to see the field TCODE2 on the screen og MB51?
    Regards
    Shilpa.

    Hi,
    Check these notes:
    Note 357187 - MB51: Fields in field catalog / selection screen
    Note 828104 - Enhancing MB51 for AFS
    I hope this helps you
    Regards
    Eduardo

  • Adding new fields to the data flow

    Hi,
    I am currently planning to add some new fields in one DSO and map it (with info source) in the update rules.
    Will adding new fields to Info source - Comm. structure affect all the update rules connected to it?
    The info source is connected to multiple DSO.
    (The data source is currently under enhancement for these fields). Once this is done, we have to replicate it to BW.
    Thanks,
    Naveen

    yes.
    Once the enhancement is done for data source in r/3 side, you will have to replicate the datasource in BW.
    Adding new fields will deactivate the update rules. You have to map the same in update rule and activate the same.
    This will require activation of  transformations, update rules, etc for related DSOs. Try to find out the where used list for the DSO where you want to add the new objects. Then check each objects whether these are activate after the changes. If these are inactive, you will have to activate all the objects.
    Cheers
    Chanda

Maybe you are looking for