Enhance MDG BP UI with an custom table

Hi All,
I am enhancing MDG Supplier Governance UI Purchase Organisation with an custom table.
I have created data model also Dependent Object has been created but my issue is in UI where m using List UIBB and want this List UI to be instantiated with customizing table data  ( means 0 to multiple line in list ui). as this entity object is created at BOL layer so how to create multiple object of entity in list UI with predefined data in feeder class.    .
Please if anyone don't understand my points ask me.
if there is any doc. please refer.
thanks in advance.

I'm still not sure of the problem. I suggest you review these two documents as they detail in a step-by-step manner how you can extend the BP and Supplier data model and UI. Reuse option means a Z table:
SAP How-To Guide: Extend MDG-S Data Model by a New Field (Reuse Option)
SAP How-To Guide: Extend the MDG Business Partner - Node Extension (Reuse Option)
For any extension of MDG, you should always consult this SCN document: Configuration and Enhancement of SAP Master Data Governance

Similar Messages

  • Enhancement of component ERP_H with a custom field in the Web UI

    Hi,
    I'm facing an error when enhancing the component ERP_H with a custom field in the web UI.
    I've followed the steps mentioned in the pdf document called "Enhancement Options for the Lean Order Interface" (Note
    1224179):
    I´ve done a enhacement on ERP_H component.
    I added a field to the view Headerdetail called "ZZCCTYPE1", but when I set a value in UI, I haven´t read this field in abap code.
    The SET method (SET_ZZCCTYPR1) in the context node is ok, in debug I see that the method current->set_property, is working fine.
    I've tried to read the atribute with lr_entity->get_property_as_string ( 'ZZCCTYPR1' ), but doesn´t work. When I read other "standard field", the statement is ok and it has value.
    When I set the value of the field from ECC (VA01/VA02), it is kept by the system.
    Could anybody help me?
    Thanks in advance,
    Regards,
    Andrea Ricci

    Hi,
    To add a new field, you have to first create it through T-Code EEWB where in you create a project, create extension  which is assigned to a business object and create the new field through wizard - specifying the field name , type and length.
    Once this is done, you can check the new field coming up in available fields for the relevant component's view in Tcode BSP_WD_CMPWB.
    Hope this helps you out.
    Cheers
    Ravindra Valy
    "Award Points if it is helpfull"

  • Enhancing the component ERP_H with a custom field in the web UI

    Hi,
    I'm facing an error when enhancing the component ERP_H with a custom field in the web UI.
    I've followed the steps mentioned in the pdf document called "Enhancement Options for the Lean Order Interface" (Note
    1224179):
    I´ve done a enhacement on ERP_H component.
    I added a field to the view Headerdetail called "ZZCCTYPE1", but when I set a value in UI, I haven´t read this field in abap code.
    The SET method (SET_ZZCCTYPR1) in the context node is ok, in debug I see that the method current->set_property, is working fine.
    I've tried to read the atribute with lr_entity->get_property_as_string ( 'ZZCCTYPR1' ), but doesn´t work. When I read other "standard field", the statement is ok and it has value.
    When I set the value of the field from ECC (VA01/VA02), it is kept by the system.
    Could anybody help me?
    Thanks in advance,
    Regards,
    Andrea Ricci

    Hi Pooja,
    When you created your custom views, did you bind the view context nodes to the corresponding context nodes of your component controller?
    From the exceptions you reported it seems that this binding is missing.
    To create this binding, you can right click on your view context node , choose "Create Binding" and bind it to the context nodes of your Component Controller.
    Hope this helps.
    Regards,
    Nisha

  • HR ABAP for employee groups with possible custom table...

    Hi Members
    I have a internal table where employee name and employee group are maintained.
    Next, i have other tables where employee name is there and his salary. now I want to add all the salaries of the employees with same groups, how can I do this.
    for Example, I have employee group as ENG, DOC, NUR Etc. (Also I wanted to use some kind of dynamic conditions as emplyee groups might added latter in custom table.
    Thank you.
    Edited by: Julius Bussche on Sep 23, 2008 10:18 PM

    Check out this code:
    *& Report  ZTEST3
    REPORT  ztest3.
    TYPES:
    BEGIN OF x_employee,
      id TYPE n LENGTH 10,
      name TYPE c LENGTH 20,
      group TYPE c LENGTH 4,
    END OF x_employee,
    BEGIN OF x_emp_sal,
      id TYPE n LENGTH 10,
      salary TYPE p LENGTH 16 DECIMALS 2,
    END OF x_emp_sal,
    BEGIN OF x_final,
      group TYPE c LENGTH 4,
      id TYPE n LENGTH 10,
      name TYPE c LENGTH 20,
      salary TYPE p LENGTH 16 DECIMALS 2,
    END OF x_final.
    DATA:
    i_employee TYPE STANDARD TABLE OF x_employee INITIAL SIZE 0,
    i_final TYPE STANDARD TABLE OF x_final INITIAL SIZE 0,
    i_salary TYPE STANDARD TABLE OF x_emp_sal INITIAL SIZE 0,
    wa_employee TYPE x_employee,
    wa_salary TYPE x_emp_sal,
    wa_final TYPE x_final,
    wa_final_temp TYPE x_final.
    DEFINE append_employee.
      wa_employee-id = &1.
      wa_employee-name = &2.
      wa_employee-group = &3.
      append wa_employee to i_employee.
    END-OF-DEFINITION.
    DEFINE append_salary.
      wa_salary-id = &1.
      wa_salary-salary = &2.
      append wa_salary to i_salary.
    END-OF-DEFINITION.
    append_employee:
    1 'John' 'ENG',
    2 'Mary' 'ENG',
    3 'Pooja' 'IT',
    4 'Payal' 'IT',
    5 'Sourav' 'IT'.
    append_salary:
    1 '111.00',
    2 '1111.00',
    3 '11111.00',
    4 '111111.00',
    5 '1111111.00'.
    LOOP AT i_employee INTO wa_employee.
      READ TABLE i_salary INTO wa_salary
       WITH KEY id = wa_employee-id.
      IF sy-subrc = 0.
        wa_final-id = wa_employee-id.
        wa_final-name = wa_employee-name.
        wa_final-group = wa_employee-group.
        wa_final-salary = wa_salary-salary.
        APPEND wa_final TO i_final.
      ENDIF.
    ENDLOOP.
    SORT i_final BY group.
    LOOP AT i_final INTO wa_final_temp.
      wa_final = wa_final_temp.
      AT END OF group.
        SUM.
        WRITE: /1 wa_final_temp-group, 5 wa_final_temp-salary.
      ENDAT.
    ENDLOOP.
    output will be:
    ENG                         1.222,00  
    IT                      1.233.333,00  
    Edited by: Sourav Bhaduri on Sep 24, 2008 1:44 AM

  • UDO with three custom tables

    I'm using a UDO (Master/Details) linked with a custum form. For each Master Row there is a few Detail Rows.
    It works fine.
    Now I'd need to handle one more table (3rd) which should contains few rows for each Detail Row.
    Can UDO works with three tables? If no, how can I do in order to handle this this situation?
    Thanks in advance,
    Piero

    Hi again,
    I made the followuing:
    1. I've created a table as MasterDataLines (the 3rd)
    2. I've included it into my UDO as MasterDataLines table (so, now I've a UDO within one MasterData table and two MasterDataLines tables)
    3. I've created a 2nd form by screen painter (within a matrix and two buttons) and I've set its property ObjectType = "My_Udo"
    4. In the matrix (which has just three columns) I've set the properties (for each column): DataBound = true, Table = "@My3rd_MasterDataLinesTable", Alias = "U_MyFieldName"
    So now I ve a main form which contains some EDIT field (binded with MasterData table) and a matrix (binded with the 1st MasterDataLines table).
    I've also a 2nd form wich conteains a matrix binded with the 2nd MasterDataLines table.
    When the add-on starts I load the main form.
    Clicking on a row (in the matrix) I load the 2nd form.
    It's all right until here!
    Now What I've to do in order to show/add/update data in the 2nd form?
    Trying to add a row in 2nd form and save it (clicking on its DefButton), a duplicate key error is thrown in MasterData table. Why?
    I need help!
    Piero Cannizzaro

  • How to enhance the standard search with custom field?

    Hi all,
    I would like to know the general optimal procedure to enhance the standard searches like Opportunity search or Lead search.
    I've gone through some of the threads here. Some suggest, to add the new field using AET and copy the IMPL class of the search and then code the custom logic. Some say, append the new field to the structure of the search object and then implement the BADI.
    I'm actually a bit confused to understand the correct procedure.
    Can someone please help me with a generic procedure to enhance the standard search with a custom field?
    Thanks in advance.

    Hi Maren,
    Once I have got the same development. I have followed the below steps, please check with this. Let me know for further inputs.
      Add new field using Append structure of type ‘XXX’ in search
      Create BADI implementation for Enhancement spot ‘ES_CRM_RF_Q1O_SEARCH’ and include filter ‘BTQOPP’
      Put your logic in BADI implementation – SEARCH method
      Add it in WebUI configuration
      Remove the operator if required
    Regards,
    Swadini Sujanaranjan

  • Custom table model, table sorter, and cell renderer to use hidden columns

    Hello,
    I'm having a hard time figuring out the best way to go about this. I currently have a JTable with an custom table model to make the cells immutable. Furthermore, I have a "hidden" column in the table model so that I can access the items selected from a database by their recid, and then another hidden column that keeps track of the appropriate color for a custom cell renderer.
    Subject -- Sender -- Date hidden rec id color
    Hello Pete Jan 15, 2003 2900 blue
    Basically, when a row is selected, it grabs the record id from the hidden column. This essentially allows me to have a data[][] object independent of the one that is used to display the JTable. Instinctively, this does not seem right, but I don't know how else to do it. I know that the DefaultTableModel uses a Vector even when it's constructed with an array and I've read elsewhere that it's not a good idea to do what I'm trying to do.
    The other complication is that I have a table sorter as well. So, when it sorts the objects in the table, I have it recreate the data array and then set the data array of the ImmutableTableModel when it has rearranged all of the items in the array.
    On top of this, I have a custom cell renderer as well. This checks yet another hidden field and displays the row accordingly. So, not only does the table sort need to inform the table model of a change in the data structure, but also the cell renderer.
    Is there a better way to keep the data in sync between all of these?

    To the OP, having hidden columns is just fine, I do that all the time.. Nothing says you have to display ALL the info you have..
    Now, the column appears to be sorting properly
    whenever a new row is added. However, when I attempt
    to remove the selected row, it now removes a seemingly
    random row and I am left with an unselectable blank
    line in my JTable.I have a class that uses an int[] to index the data.. The table model displays rows in order of the index, not the actual order of the data (in my case a Vector of Object[]'s).. Saves a lotta work when sorting..
    If you're using a similar indexing scheme: If you're deleting a row, you have to delete the data in the vector at the INDEX table.getSelectedRow(), not the actual data contained at
    vector.elementAt(table.getSelectedRow()). This would account for a seemingly 'random' row getting deleted, instead of the row you intend.
    Because the row is unselectable, it sounds like you have a null in your model where you should have a row of data.. When you do
    vector.removeElementAt(int), the Vector class packs itself. An array does not. If you have an array, when you delete the row you must make sure you dont have that gap.. Make a new array of
    (old array length-1), populate it, and give it back to your model.. Using Vectors makes this automatic.
    Also, you must make sure your model knows the data changed:
    model.fireTableDataChanged(); otherwise it has no idea anything happened..
    IDK if that's how you're doing it, but it sounds remarkably similar to what I went thru when I put all this together..

  • Custom table model won't cast

    Hi, I have a JTable with a custom table model that extends AbstractTableModel. I want to take the number of a selected table row and pass it to a method of my custom model to get back the original complex object represented by the row.
    int x = mytable.getSelectedRow();
    MyTableModel model = (MyTableModel)(mytable.getModel());
    MyOwnClass orig = model.myConversionMethod(x);
    Problem: when I call mytable.getModel() then cast it to my custom model class (so I can call this conversion method) I get a ClassCastException.
    What am I doing wrong? Thanks in advance for any help/advice you can give.
    Mike

    Where is the table model created?Right after the JTable is created, I call...
    mytable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    mytable.setModel(new SortFilterModel(new MyTableModel()));

  • Custom Table View

    Hi,
    I want to provide more than three component in the table view.
    Two images/Icons (Left Side), Text with Subtitle, Text (Date and Time at right-hand side)and Detail Disclosure button.
    How can i create this with the custom table view?

    This is an end-user forum. You need
    http://devforums.apple.com

  • Maintenance View for custom table with foreign key relationship

    Hi Folks,
         I have created a custom table with foreign key relationship with other check tables. I want to create a maintenance view / tablemaintenance generator. What all things I need to take care for the foreign keys related fields while creating the maintenance view / tablemaintenance generator.
    Regards,
      santosh

    Hi,
    You do not have to do anything explicitely for the foreign key relationships in the table maintainance generator.
    Create the table maintainance generator via SE11 and it will take care of all teh foreign key checks by itself.
    Regards,
    Ankur Parab

  • Custom Table Currency field with 5 decimals

    Hello,
    I have created a custom table and it has a field for 'US Plan Cost'. The users wanted it with 5 Decimals. I have created a custom domain and custom data element of DEC Type with 5 Decimals.
    Domain: ZCOST: Data Type: DEC, No. of Characters: 11, Decimal Places: 5.
    However When I am trying to create entries in the table though, it's giving me error: Input must be in the format _____,_____,_____,_____~._____
    The entry that I am creating is: 1.23450.
    I dont know what went wrong? Can anybody please help me?
    Thanks Much.

    Are you doing this with SM30?  or from a program?  If a program, be sure your data value is precisely '1.23450'. It sounds like you're inputting something else...
    Or, post code?

  • Doubt in customizing request with respect to table entries

    Hi All,
    I have a doubt in customizing request with respect to table entries.
    Suppose I have a customizing request with respect to a table that contains say 10 entries in the development system.
    Now I am transporting this request to the quality system in which the same table contains 20 entries.
    When I am transporting this table from the development system to the quality system, will my 10 entries in the development system get added to the 20 entries in the quality system or will my table get overwritten in the quality system.
    What difference will this be if it is a workbench request ? .
    Regards,
    Sushanth H.S.

    Hello,
    So if we are transporting contents of a table from one system to another, it should always be a customizing request and not a workbench request right.
    If the "Delivery Class" of the table is 'C'(Customizing table, maintenance only by cust., not SAP import) it will ask for a customizing request.
    If it is 'A'(Application table (master and transaction data)), it will ask for Workbench.
    To add to your previous qn, when you transport the entries to subsequent system it will always check the KEY FIELDS and then update. If you see a transport, then the table entries are represented by their key fields.
    If you create new entries in your table and transport, it will add the records. Else it will modify them
    Hope i am clear.
    BR,
    Suhas
    Edited by: Suhas Saha on Jan 23, 2009 11:51 AM

  • OAF Update of Custom Table causing ORA-600 with database block corruption?

    Using OA Framework 12.1.3, running under EBusiness Suite 12.1.3
    Created Custom Web page operating against Custom Tables
    ISSUE
    On about 2% of new records, when OAF is UPDATING a record in a certain table, it  is failing with
    java.sql.SQLException: ORA-00607: Internal error occurred while making a change to a data block
    ORA-00600: internal error code, arguments: [kddummy_blkchk], [815], [26412], [6110], [], [], [], []
    ORA-06512: at line 1
    Before the DBA turned on 10.2.0.4.0 DB_BLOCK_CHECKING parameter, this actually
    resulted in corrupted data blocks in the database and corrupted indexes that
    eventually crashed the database and we had to do a full recovery with 2 days downtime.
    Now that we have turned on DB_BLOCK_CHECKING, it simply errors out and puts things
    in the alert log, but the records still fail to update as the writes are blocked.
    Then oddly, a few days later.. the records become editable.  And others fail.
    This is ONLY happening on the one particular table being updated by OAF.  Other custom pages
    posting to other custom tables are having no problems.   We've CTAS'd the table back and
    forth and recreated the indexes, and that did not help.
    Support says to post to the Forum  ( So I am! ) or hire Oracle consulting.. which doesn't make
    much sense given the error.  The Recovery Team that helped us in a separate SR ( we had
    to do db_repairs not just recovery ) felt it was an important problem the OAF team needed to
    strongly review.
    Anyone else encounter this already and know of a solution?
    TIA
    Karl

    After MANY hours of trial and error and research, we've identified ONE use case that seems to apply to 90% of the issue we have encountered.
    YMMV.
    The BC4J generated SQL which is generating the ORA-600 is
    BEGIN UPDATE XXRETURNHEADER ReturnHeaderEO SET INTERNAL_TEXT=?,LAST_MOD_USERNAME=?,OBJECT_VERSION_NUMBER=?,LAST_UPDATE_DATE=?,LAST_UPDATED_BY=?,LAST_UPDATE_LOGIN=? WHERE RMA_NUMBER=? AND ORGANIZATION_ID=? RETURNING TROUBLESHOOT_DATE, FAA_TAG_DATE, FAILURE_ANALYSIS_DATE, LAST_MOD_DATE, FAA_REVISED_DATE, TTE_TECH_SEND_DATE, TTE_REP_RESPONSE_DATE, TTE_REP_APPROVED, TTE_RMA_RANDOM_KEY, OBJECT_VERSION_NUMBER, LAST_UPDATE_DATE, LAST_UPDATED_BY, LAST_UPDATE_LOGIN INTO ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?; END;".
    We determined that if TTE_RMA_RANDOM_KEY was not a null value, we would get an ORA-600 error whenever we did an APPLY from the OAF Page to update the record.
    If we set that table attribute to NULL for the record using SQL.. then used the  OAF Page to APPLY.. it worked fine and the record saved without error.
    We then modified the EO to NOT   "Refresh After Update"  ( thus removing it from the RETURNING clause generated )... and even if the TTE_RMA_RANDOM_KEY
    had a value... the OAF Page APPLY worked and the record saved without error.
    I cannot identify anything from the User programming side that is wrong ( and neither could Oracle ), and it REALLY should be in the RETURNING clause list of
    attributes.. but this is the only workaround I've found that doesn't crash the Page and irritate the user to no end.
    I have reported my findings via the SR back to Oracle to do with it what they may... but it looks strongly ,to me, to be an error in the BC4J/JDBC/Database
    coordination and passing data between those black boxes.

  • Small issue with custom table cell editor and unwanted table row selection

    I'm using a custom table cell editor to display a JTree. Thing i notice is that when i select a value in the tree pop-up, the pop-up closes (as it should) but then every table row, from the editing row to the row behind the pop-up when i selected the value becomes highlighted. I'm thinking this is a focus issue, but it thought i took care of that. To clairfy, look at this: Before . Notice how the "Straightening" tree item is roughly above the "Stock Thickness" table row? When i select Straightening, this is what happens to my table: After .
    My TreeComboBox component:
    public class TreeComboBox extends JPanel implements MouseListener {
        private JTextField itemField;
        private TreeModel treeModel;
        private ArrayList<ActionListener> actionListeners = new ArrayList<ActionListener>();
        private Object selectedItem;
         * Creates a new <code>TreeComboBox</code> instance.
         * @param treeModel the tree model to be used in the drop-down selector.
        public TreeComboBox(TreeModel treeModel) {
            this(treeModel, null);
         * Creates a new <code>TreeComboBox</code> instance.
         * @param treeModel the tree model to be used in the drop-down selector.
         * @param selectedItem tree will expand and highlight this item.
        public TreeComboBox(TreeModel treeModel, Object selectedItem) {
            this.treeModel = treeModel;
            this.selectedItem = selectedItem;
            initComponents();
         * Returns the current drop-down tree model.
         * @return the current <code>TreeModel</code> instance.
        public TreeModel getTreeModel() {
            return treeModel;
         * Sets the tree model.
         * @param treeModel a <code>TreeModel</code> instance.
        public void setTreeModel(TreeModel treeModel) {
            this.treeModel = treeModel;
         * Returns the selected item from the drop-down selector.
         * @return the selected tree object.
        public Object getSelectedItem() {
            return selectedItem;
         * Sets the selected item in the drop-down selector.
         * @param selectedItem tree will expand and highlight this item.
        public void setSelectedItem(Object selectedItem) {
            this.selectedItem = selectedItem;
            String text = selectedItem != null ? selectedItem.toString() : "";
            itemField.setText(text);
            setToolTipText(text);
         * Overridden to enable/disable all child components.
         * @param enabled flat to enable or disable this component.
        public void setEnabled(boolean enabled) {
            itemField.setEnabled(enabled);
            super.setEnabled(enabled);
        public void addActionListener(ActionListener listener) {
            actionListeners.add(listener);
        public void removeActionListener(ActionListener listener) {
            actionListeners.remove(listener);
        // MouseListener implementation
        public void mouseClicked(MouseEvent e) {
        public void mouseEntered(MouseEvent e) {
        public void mouseExited(MouseEvent e) {
        public void mousePressed(MouseEvent e) {
        public void mouseReleased(MouseEvent e) {
            showPopup();
        private void initComponents() {
            setLayout(new GridBagLayout());
            itemField = new JTextField();
            itemField.setEditable(false);
            itemField.setText(selectedItem != null ? selectedItem.toString() : "");
            itemField.addMouseListener(this);
            add(itemField, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0,
                    GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
        private void showPopup() {
            final TreePopup popup = new TreePopup();
            final TreeComboBox tcb = this;
            final int x = itemField.getX();
            final int y = itemField.getY() + itemField.getHeight();
            int width = itemField.getWidth() + popupButton.getWidth();
            Dimension prefSize = popup.getPreferredSize();
            prefSize.width = width;
            popup.setPreferredSize(prefSize);
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    popup.show(tcb, x, y);
                    popup.requestFocusInWindow();
        private void fireActionPerformed() {
            ActionEvent e = new ActionEvent(this, ActionEvent.ACTION_PERFORMED, "TreeComboBoxSelection");
            for (ActionListener listener : actionListeners) {
                listener.actionPerformed(e);
        private class TreePopup extends JPopupMenu {
            private JTree tree;
            private JScrollPane scrollPane;
            public TreePopup() {
                initComponents();
                initData();
            private void initData() {
                if (treeModel != null) {
                    tree.setModel(treeModel);
            private void initComponents() {
                setFocusable(true);
                setFocusCycleRoot(true);
                tree = new JTree();
                tree.setRootVisible(false);
                tree.setShowsRootHandles(true);
                tree.setFocusable(true);
                tree.setFocusCycleRoot(true);
                tree.addTreeSelectionListener(new TreeSelectionListener() {
                    public void valueChanged(TreeSelectionEvent e) {
                        tree_valueChanged(e);
                scrollPane = new JScrollPane(tree);
                add(scrollPane);
            private void tree_valueChanged(TreeSelectionEvent e) {
                DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
                setSelectedItem(node.getUserObject());
                fireActionPerformed();
                this.setVisible(false);
    }My TreeComboBoxTableCellEditor:
    public class TreeComboBoxTableCellEditor extends AbstractCellEditor implements TableCellEditor, ActionListener {
        protected TreeComboBox treeComboBox;
        protected ArrayList<CellEditorListener> cellEditorListeners = new ArrayList<CellEditorListener>();
        public TreeComboBoxTableCellEditor(TreeComboBox treeComboBox) {
            this.treeComboBox = treeComboBox;
            treeComboBox.addActionListener(this);
        public Object getCellEditorValue() {
            return treeComboBox.getSelectedItem();
        public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
            treeComboBox.setSelectedItem(value);
            return treeComboBox;
        public void actionPerformed(ActionEvent e) {
            stopCellEditing();
    }Any thoughts?
    Edited by: MiseryMachine on Apr 3, 2008 1:21 PM
    Edited by: MiseryMachine on Apr 3, 2008 1:27 PM

    As I said, you have to have empty context elements before additional rows will be open for input.
    For instance if you want to start with 5 rows available for input do the following to your internal table that you will bind:
    data itab type standard table of sflight.
    do 5 times.
      append initial line to itab.
    enddo.
    context_node->bind_table( itab ).
    The other option if you need n number of rows is to add a button to the table toolbar for adding more rows. When this button is pressed, you add a new context element to the node - thereby creating a new empty row in the table.

  • Error in multiple operation with change document object for custom table

    hi all,
    I have developed a change document object for a custom table ZTEST and developed a report program for insertion, updation & deletion..everything works fine if I do only once ie. if I created only 1 entries. If I created 2 new entries , I am getting an Error "DUPREC:POS&Z3RL_TAB&Z3RL_TAB" and EXIT the transaction.
    why I am getting this error??? is it not possible to do multiple operation with the change document???
    kindly help.
    Edited by: JaiKarthik on Apr 7, 2010 6:20 AM

       LOOP AT ts_mod INTO wa_mod.
                READ TABLE <i_itab> INTO <wa_tab> INDEX wa_mod-row.
    * Select the existing entries in table Z3RL for change history
                    SELECT SINGLE * FROM z3rl
                           INTO wa_z3rl
                           WHERE vkorg   = <wa_tab>+3(4)
                           AND   zzkunnr = <wa_tab>+7(10).
    * Move the old entries
                    IF sy-subrc = 0.
                      CLEAR ls_z3rl.
                      ls_z3rl = wa_z3rl.
                    ENDIF.
    * Update the table
                 MODIFY (viewname) FROM <wa_tab>.
                   CLEAR wa_z3rl.
                    wa_z3rl-mandt      = <wa_tab>+0(3).
                    wa_z3rl-vkorg      = <wa_tab>+3(4).
                    wa_z3rl-zzkunnr    = <wa_tab>+7(10).
    * Populate change tables
                    CLEAR wa_change.
                    wa_change-teilobjid = 'Z3RL'.
                    wa_change-textart = 'TEST_2'.
                    wa_change-textspr = 'EN'.
                    wa_change-updkz = 'U'.
                    APPEND wa_change TO ts_change.
    *call the fM to log the values in CDHDR table.
                    CALL FUNCTION 'Z3RL_WRITE_DOCUMENT'
                      EXPORTING
                        objectid                 = 'Z3RL'
                        tcode                    = sy-tcode
                        utime                    = sy-uzeit
                        udate                    = sy-datum
                        username                 = sy-uname
                        planned_change_number    = ' '
                        object_change_indicator  = 'U'
                        planned_or_real_changes  = 'U'
                        no_change_pointers       = 'U'
                        upd_icdtxt_z3rl= 'U'
                        n_z3rl= wa_z3rl
                        o_z3rl        = ls_z3rl
                        upd_z3rl= 'U'
                        lv_opt                   = ' '
                      TABLES
                        icdtxt_z3rl= ts_change.
                CLEAR : wa_mod, <wa_tab>.
              ENDLOOP.
    Edited by: JaiKarthik on Apr 7, 2010 6:49 AM

Maybe you are looking for

  • Exporting to PDF from browser is showing junk data

    Hi Ted, I am using cross tab in my report and when value 2 has to be displayed for a column, i have to show 'Tick' mark. It is displaying properly when i use <font face="Bookshelf Symbol 7">p</font>. It is showing tick mark. Even when i export direct

  • Syncing ipod with itunes

    I have several songs on itunes that are MPEG Audio files however these files will not transfer to my ipod. Please can anyone advise how I can get them to sync.

  • Creating second Superduper! drive

    Friends, I have an external HDD that I have partitioned into two separate partitions.  On one of the partitions I have a Superduper! backup.  I want to create a second Superduper! backup on the other partitions, using the first backup as the source. 

  • Calling an EJB from a JSP

    Hi, I have this strange problem getting an EJB home object in a JSP page. I use JDeveloper 9i Beta as development tool and 9iAS as Application Server. The EJB works just fine if I connect with a client, but when I use the exact same code for lookup i

  • What is OTHERS mean under the startup disk category???

    Hello guys, I am facing troubles with the Startup disk. I am getting the message that says " your start up disk is full"...this is not the case, the problems is the category OTHER, i could not find which files goes under that ?? the other categories