Monitor Client Changes (table T000) with RZ20

Hi All,
For my customer I have configured Email on Alert with RZ20. This is all working great. Now I want to have an alert when someone opens or changes the client settings of our production environment. Is that possible at all?
We do have table logging set in this client.
Hope to hear from any of you!!
Grt,
Sjoerd

Hi
Yes it is possible to monitor client setting changes:
Goto RZ20  select your monitoring node, expand it select Entire System --> System Configuration --> Clients --> Select Required Client number, expand it select any alert you require, in your case you can select all of above as they represent SCC4 changes. One by one select them, press properties, in Methods tab in Auto reaction method, you can set email alerts.
So selecting all of these alerts will, keep you informed about client setting changes.
Hope this helps.
Rahul

Similar Messages

  • Change table rows with Combo Box

    I want to change the size of the rows displayed per page. I tested this code but the number of the rows is updated only when the pages are switched. Can you tell me how I can fix this?
    import javafx.application.Application;
    import static javafx.application.Application.launch;
    import javafx.beans.property.SimpleStringProperty;
    import javafx.collections.FXCollections;
    import javafx.collections.ObservableList;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.Node;
    import javafx.scene.Scene;
    import javafx.scene.control.ComboBox;
    import javafx.scene.control.Pagination;
    import javafx.scene.control.TableColumn;
    import javafx.scene.control.TableView;
    import javafx.scene.control.cell.PropertyValueFactory;
    import javafx.scene.layout.AnchorPane;
    import javafx.scene.layout.VBox;
    import javafx.stage.Stage;
    import javafx.util.Callback;
    public class MainApp extends Application
        final ObservableList<Person> data = FXCollections.observableArrayList(
            new Person("1", "Joe", "Pesci"),
            new Person("2", "Audrey", "Hepburn"),
            new Person("3", "Gregory", "Peck"),
            new Person("4", "Cary", "Grant"),
            new Person("5", "De", "Niro"),
            new Person("6", "Katharine", "Hepburn"),
            new Person("7", "Jack", "Nicholson"),
            new Person("8", "Morgan", "Freeman"),
            new Person("9", "Elizabeth", "Taylor"),
            new Person("10", "Marcello", "Mastroianni"),
            new Person("11", "Innokenty", "Smoktunovsky"),
            new Person("12", "Sophia", "Loren"),
            new Person("32", "Humphrey", "Bogart"));
        private Pagination pagination;
        public static void main(String[] args) throws Exception
            launch(args);
        public int itemsPerPage()
            return 1;
        public static int rowsPerPage = 6;
        final static ObservableList<Integer> rowsPerPages = FXCollections.observableArrayList(5, 10, 15, 20);
        static ComboBox cb = new ComboBox();
        public VBox createPage(int pageIndex)
            cb.setPrefWidth(25);
            cb.setItems(rowsPerPages);
            cb.setOnAction(new EventHandler<ActionEvent>() {
                @Override
                public void handle(ActionEvent e) {
                    if (cb.getValue() != null && !cb.getValue().toString().isEmpty()){
                        rowsPerPage = (int) cb.getValue();
            int lastIndex = 0;
            int displace = data.size() % rowsPerPage;
            if (displace > 0)
                lastIndex = data.size() / rowsPerPage;
            else
                lastIndex = data.size() / rowsPerPage - 1;
            VBox box = new VBox(5);
            int page = pageIndex * itemsPerPage();
            for (int i = page; i < page + itemsPerPage(); i++)
                TableView<Person> table = new TableView<>();
                TableColumn numCol = new TableColumn("ID");
                numCol.setCellValueFactory(
                    new PropertyValueFactory<Person, String>("num"));
                numCol.setMinWidth(20);
                TableColumn firstNameCol = new TableColumn("First Name");
                firstNameCol.setCellValueFactory(
                    new PropertyValueFactory<Person, String>("firstName"));
                firstNameCol.setMinWidth(160);
                TableColumn lastNameCol = new TableColumn("Last Name");
                lastNameCol.setCellValueFactory(
                    new PropertyValueFactory<Person, String>("lastName"));
                lastNameCol.setMinWidth(160);
                table.getColumns().addAll(numCol, firstNameCol, lastNameCol);
                if (lastIndex == pageIndex)
                    table.setItems(FXCollections.observableArrayList(data.subList(pageIndex * rowsPerPage, pageIndex * rowsPerPage + displace)));
                else
                    table.setItems(FXCollections.observableArrayList(data.subList(pageIndex * rowsPerPage, pageIndex * rowsPerPage + rowsPerPage)));
                box.getChildren().addAll(table, cb);
            return box;
        @Override
        public void start(final Stage stage) throws Exception
            pagination = new Pagination((data.size() / rowsPerPage + 1), 0);
            //   pagination = new Pagination(20 , 0);
            //pagination.setStyle("-fx-border-color:red;");
            pagination.setPageFactory(new Callback<Integer, Node>()
                @Override
                public Node call(Integer pageIndex)
                    if (pageIndex > data.size() / rowsPerPage + 1)
                        return null;
                    else
                        return createPage(pageIndex);
            AnchorPane anchor = new AnchorPane();
            AnchorPane.setTopAnchor(pagination, 10.0);
            AnchorPane.setRightAnchor(pagination, 10.0);
            AnchorPane.setBottomAnchor(pagination, 10.0);
            AnchorPane.setLeftAnchor(pagination, 10.0);
            anchor.getChildren().addAll(pagination);
            Scene scene = new Scene(anchor, 400, 250);
            stage.setScene(scene);
            stage.setTitle("Table pager");
            stage.show();
        public static class Person
            private final SimpleStringProperty num;
            private final SimpleStringProperty firstName;
            private final SimpleStringProperty lastName;
            private Person(String id, String fName, String lName)
                this.firstName = new SimpleStringProperty(fName);
                this.lastName = new SimpleStringProperty(lName);
                this.num = new SimpleStringProperty(id);
            public String getFirstName()
                return firstName.get();
            public void setFirstName(String fName)
                firstName.set(fName);
            public String getLastName()
                return lastName.get();
            public void setLastName(String fName)
                lastName.set(fName);
            public String getNum()
                return num.get();
            public void setNum(String id)
                num.set(id);

    Hi.  I slightly modified your code:
            comboBox.valueProperty().addListener(new ChangeListener<Number>() {
                @Override
                public void changed(ObservableValue o, Number oldVal, Number newVal) {
                    //System.out.println(newVal.intValue());
                    intP.set(newVal.intValue());
                    paginate();
    Here is the complete example:
    import java.util.List;
    import javafx.application.Application;
    import javafx.beans.property.IntegerProperty;
    import javafx.beans.property.SimpleIntegerProperty;
    import javafx.beans.property.SimpleStringProperty;
    import javafx.beans.value.ChangeListener;
    import javafx.beans.value.ObservableValue;
    import javafx.collections.FXCollections;
    import javafx.collections.ListChangeListener;
    import javafx.collections.ListChangeListener.Change;
    import javafx.collections.ObservableList;
    import javafx.scene.Scene;
    import javafx.scene.control.Pagination;
    import javafx.scene.Node;
    import javafx.scene.control.ComboBox;
    import javafx.scene.control.TableColumn;
    import javafx.scene.control.TableView;
    import javafx.scene.control.TextArea;
    import javafx.scene.control.cell.PropertyValueFactory;
    import javafx.scene.layout.AnchorPane;
    import javafx.scene.layout.VBox;
    import javafx.stage.Stage;
    import javafx.util.Callback;
    public class TablePager extends Application {
        IntegerProperty intP = new SimpleIntegerProperty(5);
        AnchorPane anchor = new AnchorPane();
        Scene scene;
        ObservableList<Integer> options =
                FXCollections.observableArrayList(
                5,
                10,
                15,
                20);
        final ComboBox comboBox = new ComboBox(options);
        final ObservableList<Person> data = FXCollections.observableArrayList(
                new Person("1", "Joe", "Pesci"),
                new Person("2", "Audrey", "Hepburn"),
                new Person("3", "Gregory", "Peck"),
                new Person("4", "Cary", "Grant"),
                new Person("5", "De", "Niro"),
                new Person("6", "Katharine", "Hepburn"),
                new Person("7", "Jack", "Nicholson"),
                new Person("8", "Morgan", "Freeman"),
                new Person("9", "Elizabeth", "Taylor"),
                new Person("10", "Marcello", "Mastroianni"),
                new Person("11", "Innokenty", "Smoktunovsky"),
                new Person("12", "Sophia", "Loren"),
                new Person("13", "Alexander", "Kalyagin"),
                new Person("14", "Peter", "OToole"),
                new Person("15", "Gene", "Wilder"),
                new Person("16", "Evgeny", "Evstegneev"),
                new Person("17", "Michael", "Caine"),
                new Person("18", "Jean-Paul", "Belmondo"),
                new Person("19", " Julia", "Roberts"),
                new Person("20", "James", "Stewart"),
                new Person("21", "Sandra", "Bullock"),
                new Person("22", "Paul", "Newman"),
                new Person("23", "Oleg", "Tabakov"),
                new Person("24", "Mary", "Steenburgen"),
                new Person("25", "Jackie", "Chan"),
                new Person("26", "Rodney", "Dangerfield"),
                new Person("27", "Betty", "White"),
                new Person("28", "Eddie", "Murphy"),
                new Person("29", "Amitabh", "Bachchan"),
                new Person("30", "Nicole", "Kidman"),
                new Person("31", "Adriano", "Celentano"),
                new Person("32", "Rhonda", " Fleming's"),
                new Person("32", "Humphrey", "Bogart"));
        private Pagination pagination;
        public static void main(String[] args) throws Exception {
            launch(args);
        public int itemsPerPage() {
            return 1;
        public int rowsPerPage() {
            return intP.get();
        public VBox createPage(int pageIndex) {
            int lastIndex = 0;
            int displace = data.size() % rowsPerPage();
            if (displace > 0) {
                lastIndex = data.size() / rowsPerPage();
            } else {
                lastIndex = data.size() / rowsPerPage() - 1;
            VBox box = new VBox();
            int page = pageIndex * itemsPerPage();
            for (int i = page; i < page + itemsPerPage(); i++) {
                TableView<Person> table = new TableView<Person>();
                TableColumn numCol = new TableColumn("ID");
                numCol.setCellValueFactory(
                        new PropertyValueFactory<Person, String>("num"));
                numCol.setMinWidth(20);
                TableColumn firstNameCol = new TableColumn("First Name");
                firstNameCol.setCellValueFactory(
                        new PropertyValueFactory<Person, String>("firstName"));
                firstNameCol.setMinWidth(160);
                TableColumn lastNameCol = new TableColumn("Last Name");
                lastNameCol.setCellValueFactory(
                        new PropertyValueFactory<Person, String>("lastName"));
                lastNameCol.setMinWidth(160);
                table.getColumns().addAll(numCol, firstNameCol, lastNameCol);
                if (lastIndex == pageIndex) {
                    table.setItems(FXCollections.observableArrayList(data.subList(pageIndex * rowsPerPage(), pageIndex * rowsPerPage() + displace)));
                } else {
                    table.setItems(FXCollections.observableArrayList(data.subList(pageIndex * rowsPerPage(), pageIndex * rowsPerPage() + rowsPerPage())));
                box.getChildren().addAll(table);
            return box;
        @Override
        public void start(final Stage stage) throws Exception {
            scene = new Scene(anchor, 450, 450);
            comboBox.valueProperty().addListener(new ChangeListener<Number>() {
                @Override
                public void changed(ObservableValue o, Number oldVal, Number newVal) {
                    //System.out.println(newVal.intValue());
                    intP.set(newVal.intValue());
                    paginate();
            paginate();
            stage.setScene(scene);
            stage.setTitle("Table pager");
            stage.show();
        public void paginate() {
            pagination = new Pagination((data.size() / rowsPerPage() + 1), 0);
            //   pagination = new Pagination(20 , 0);
            pagination.setStyle("-fx-border-color:red;");
            pagination.setPageFactory(new Callback<Integer, Node>() {
                @Override
                public Node call(Integer pageIndex) {
                    if (pageIndex > data.size() / rowsPerPage() + 1) {
                        return null;
                    } else {
                        return createPage(pageIndex);
            AnchorPane.setTopAnchor(pagination, 10.0);
            AnchorPane.setRightAnchor(pagination, 10.0);
            AnchorPane.setBottomAnchor(pagination, 10.0);
            AnchorPane.setLeftAnchor(pagination, 10.0);
            AnchorPane.setBottomAnchor(comboBox, 40.0);
            AnchorPane.setLeftAnchor(comboBox, 12.0);
            anchor.getChildren().clear();
            anchor.getChildren().addAll(pagination, comboBox);
        public static class Person {
            private final SimpleStringProperty num;
            private final SimpleStringProperty firstName;
            private final SimpleStringProperty lastName;
            private Person(String id, String fName, String lName) {
                this.firstName = new SimpleStringProperty(fName);
                this.lastName = new SimpleStringProperty(lName);
                this.num = new SimpleStringProperty(id);
            public String getFirstName() {
                return firstName.get();
            public void setFirstName(String fName) {
                firstName.set(fName);
            public String getLastName() {
                return lastName.get();
            public void setLastName(String fName) {
                lastName.set(fName);
            public String getNum() {
                return num.get();
            public void setNum(String id) {
                num.set(id);

  • Change table entries with a workitem

    Hi all,
    I think this is an easy one for you. I want to change a table entry in a customer table over a method which is part of a work item. In the test modus everything is ok but directly over the workflow the entries are not updated (background processing). I'm using the modify command.
    Thanks for your help
    Thomas

    Hello,
    Did you put a commit in the method? Is there no update at all, or an incorrect value?
    You can debug it by putting an infinite loop in the method:
    Temporary, for debugging.
    data: lv_rbtmp(1).
    lv_rbtmp = 'X'.
    while lv_rbtmp eq 'X'.
    endwhile.
    Go to SM50, find the program (usually user WF-BATCH) choose debug (Program/Session > Program > Debugging) and change the value to get out of the loop.
    Don't forget to remove the infinite loop!
    regards
    Rick Bakker
    Hanabi Technology

  • Trigger changes to T000 and send an e-mail

    Dear all,
       I've enabled the table logging for our R/3 system (ECC 6.0 EHP6), activating the rec/client paramenter for the productive client; because I need to monitor the changes to T000 table.
    Is there a way with "standard" components (I don't want to write any ABAP program) to define a workflow that "triggers" the "change event" and sends an e-mail to an external address?
    Thanks,
    Claudio

    Hi Claudio
    You can try the event approach mentioned here:
    Triggering a Workflow whenever a new record is created:
    regards,
    Modak

  • Solman - Client definition in table T000

    Hello,
    I got a question from Security officer regarding Solution Manager landscape and the definition of table T000 for the productive client 800.  I am telling you that Solman functionality requires in some cases that you leave opened the client 800 to record transport requests for Test Plans and Test Packages (though you don't want to transport anyway, it asks you for a transport request),
    Is there a clear definition about what is the correct definition of table T000 for a productive Solution Manager?
    I appreciate your answers.
    Regards
    Esteban

    Already SCC4  entry for the client has old Logical system name.
    Ex:
    Client 500
    Logical System : <PRD>CLNT500
    I need this to be change to <QAS>CLNT500 after BDLS,but it is not happening after BDLs.
    Regards,
    Srinivas Chapa.

  • Another user has changed the row with primary key -Table changed externally

    Hello,
    I am facing the error: "Another user has changed the row with primary key oracle.jbo.Key[94 ]." during the delete operation.
    User case scenario:
    1. Added new row in the table.
    2. Once new row is added to the the table, another application will update few columns in the newly added row based on some logic.
    3. On the same session I am trying to delete the newly added row and getting above mentioned error.
    I have added a "Button" in the table to partialRefresh the table to check the new values of the changed columns.
    I have checked the forum and found many similar errors and tried the following but nothing helped.
    1. By setting "Auto Refresh = True" for the view object.
    Issue faced-> It worked fine but after few add and remove my db is getting to inconsistent state after which, I am not able to do any add/delete from my page.
    Error: "Too many objects match the primary key oracle.jbo.Key". I have checked this and I am not getting this error when "Auto Refresh = False" even after multiple add and remove actions.
    2. By Setting "Auto Refresh" the iterator associated with the page.
    Issue -> Did not work at all.
    Looking forward inputs from gurus.
    Thanks
    Abhijeet

    Finally I found one solution to this problem at: [ http://www.avromroyfaderman.com/2008/05/bring-back-the-hobgoblin-dealing-with-rowinconsistentexception/|http://www.avromroyfaderman.com/2008/05/bring-back-the-hobgoblin-dealing-with-rowinconsistentexception/]
    Simply overriding the lock() method in the entity object resolved issue. Kudos to the author.
    Code:
    public void lock() {
    try {
    super.lock();
    } catch (RowInconsistentException e) {
    refresh(REFRESH_WITH_DB_ONLY_IF_UNCHANGED | REFRESH_CONTAINEES);
    super.lock();
    But, Now my refresh button is not working as depend on the "Auto Refresh = True" to update the table.
    Can anyone tell me how can I refresh the VO of my table from the button.
    Thanks
    Abhijeet.
    P.S: I have already added the partial trigger but it is work not working as the data is cached in the VO. Removing the Cached property for the VO is creating other problems.

  • How can I change Overridden Qualified Table Name with a programm

    Hallo have the the Problem
    to change more then 500 Reports more than one time
    I want to change to change qualified Tabelname with a programm ( I wan't del the qualifier )
    manuel with the report designer I set the replace qualified Tablename and then verifiy Database is ok
    I want to do this with a program but the Qualifiers is write protected
    How can I change the Qualifier by programm.
    thanks for help

    Hello, Jörg;
    As I mentioned, you can remove the Qualifier in the report designer but we do not recommend it. It is not supported at runtime in an application. We expect a table location to be fully qualified or you may get incorrect data.
    There is a way to change the fully qualified location at runtime and get and set the qualifier. The following code gets what is saved in the report.
    'Definitions in Module.bas
    Public crxApplication As New CRAXDRT.Application
    Public External_Report As CRAXDRT.Report
    Public ReportFileName As String
    Public crxTable As CRAXDRT.DatabaseTable
    Private Sub Get_Qualifiers()
    'Get the fully qualified table location
    'Change it if necessary and set the new location "owner.dbo.tablename"
    'Verify the Database
    ' Assemble the qualified table name for each table.
    For Each crTable In External_Report.Database.Tables
        Dim strQualTableNamePart As Variant
        Dim strQualTableName As String
        strQualTableName = ""
        ' Obtain the table's qualifiers.
        Dim i As Integer
        For i = 1 To crTable.Qualifiers.Count
            If i > 1 Then
            strQualTableName = strQualTableName + "."
        End If
        strQualTableNamePart = crTable.Qualifiers.Item(i)
        strQualTableName = strQualTableName + strQualTableNamePart
        Next
        ' Obtain the table's name.
        If (strQualTableName <> "") Then
            strQualTableName = strQualTableName + "."
        End If
        strQualTableName = strQualTableName + crTable.Location
        ' Display the fully qualified table name.
        MsgBox "Fully qualified location " + strQualTableName
        crTable.Location = strQualTableName
    Next
    'Should be the equivalent of:
    'External_Report.Database.Tables(1).Location = "Xtreme1.dbo.Customer"
    'If the structure of the database has changed, verify the database
    'External_Report.Database.Verify
    End Sub
    Elaine

  • How do with change table cells from staticText1 to button1 in run time?

    I have two question:
    first: I think change table's cells from staticText to button in run time?
    how do?
    second: I think change table column's order in run time?how do?
    ex:
    =============change before===========
    name age
    wtu 22
    =============chnage after=============
    age name
    22 wtu
    thanks

    Try something like this:
    1. Drop a Table. By default it has three columns.
    2. Drop a button inside the third column. Set its id property to buttonInColumn3, and set its rendered property to false.
    3. Drop another button, this time outside the table. Set its id property to buttonOutsideTable.
    4. Double-click the buttonOutsideTable and make the method look as follows:
    public String buttonOutsideTable_action() {
    //switch the first two columns
    List cols = tableRowGroup1.getChildren();
    Object col = cols.remove(0);
    cols.add(1, col);
    //toggle between showing staticText3 and buttonInColumn3 (in the third column)
    staticText3.setRendered(!staticText3.isRendered());
    buttonInColumn3.setRendered(!buttonInColumn3.isRendered());
    return null;
    5. Run the application and click the button outside the table several times.

  • Table T000 was not relevant for conversion in BDLS log

    Hi All,
    I am getting the below message in BDLS log  while doing logical system system conversion with BDLS.
    "Table T000 was not relevant for conversion"
    Due to this I could see old logical system entry in SCC4 instead of New converted logical entry.
    (I've gone through the forums ,but didn't find solution)
    Any Idea why I am getting this message and I triggered BDLS from client 000.
    Regards,
    Srinivas Chapa.

    Already SCC4  entry for the client has old Logical system name.
    Ex:
    Client 500
    Logical System : <PRD>CLNT500
    I need this to be change to <QAS>CLNT500 after BDLS,but it is not happening after BDLs.
    Regards,
    Srinivas Chapa.

  • Use of client dependent tables

    Hi Gurus,
    I have read many threads on difference between client dependent and independent data/objects etc.
    But, someone tell me please, wheat exactly the 'Use or Advantage' of client dependent tables/data.
    Thanks in advance.
    V

    HI,
       The use of client dependent tables is that if  data in one table of a particular client is updated then that data wont be seen in any other clent it provides a security to the data we retrict users with their authorizations in differen clients
    When you log on to an SAP System, you log on to a particular client of this system. Any activities you carry out in the system are always carried out in one client. When you plan your SAP system landscape, you must consider which clients you need for which activities.
    By assigning activities to be performed in a client, you give each client a particular role. This section describes the most important client roles.
    Since you need to adapt the SAP software for your own business needs, each SAP system landscape requires a client where Customizing settings, and possibly ABAP Workbench developments, can be made. This client is known as the Customizing and development client, or Customizing client for short. The abbreviation CUST is used for this client.
    Before you can use the Customizing settings and Workbench developments productively, you need to test them extensively for errors. Any faulty settings can seriously disrupt productive operations, and at worst, lead to the loss of productive data. The integrated nature of the various SAP applications means that there are many dependencies between the different Customizing settings. Even an experienced Customizing developer may not discover these dependencies immediately. The correctness of the settings can only be guaranteed with extensive testing. The client where these tests are made is the Quality Assurance Client, QTST for short.
    A separate client is required for productive use of the SAP System. So that this client can be used without disruption, it is essential that no Customizing settings or Workbench developments are made here, and also that no tests are carried out. This client is known as the Production Client, PROD for short.
    These three clients, CUST, QTST and PROD, are the central clients that exist in every system landscape. Standard system landscapes have precisely one client for each of these client roles.
    We recommend that you make all your Customizing settings in a single Customizing client, and then use the CTS to transport them to the other clients.
    We also recommend that you do not make any Customizing settings or Workbench developments in the quality assurance or production clients. You can make sure of this by making appropriate client settings.
    In addition to the central clients, you can also set up other clients for other tasks. However, you must remember that each extra client takes up additional system resources (main memory and database space). They also need to be administrated. For example, you need to set up and administrate access authorization for the users, and also distribute any changes to other clients with the CTS. You must weigh up the advantages and disadvantages of setting up other clients.
    Examples of other client roles are:
    Development test client (TEST): Developers can use this client to test their Customizing settings and Workbench developments, before they release their change requests. In this client the developers can create test application data for realistic tests. If they discover errors, they can remove them in the Customizing client. A development test client is always set up in the same SAP System as the Customizing client. This means that any changes that are made to cross-client data in the Customizing client are also immediately visible in the development test client. Changes to client-specific data are copied from the Customizing client to the development test client using a special  client copy function. The client copy function uses the unreleased change requests from the Customizing client to do this. The development test client is set so that you cannot make changes to Customizing data and Repository objects.
    Prototype or sandbox client (SAND): You can use this client to test any client-specific Customizing settings if you are not sure whether you want to use them in this form. Any settings that you want to keep are then entered in the Customizing client. To prevent conflicts between the prototype client settings and real settings in the Customizing client, you cannot make changes to cross-client Customizing data and Repository objects in the prototype client. The CTS does not record changes made to client-specific Customizing data, and does not transport them from the prototype client. You can make sure of this by making appropriate client settings.
    Training client (TRNG): To prepare end users for new functions that are to be transported into the production client, you can set up a training client. The users can use the new functions in this client with specially created application data. This client is set so that you cannot make changes to Customizing data and Repository objects.'''
    plzz reward if this information is usefull to u plaa dont forget to reward

  • JBO-25014: Another user has changed the row with primary key oracle.jbo.Key

    Hi,
    I am developing a Fusion Web Application using Jdeveloper 11.1.2.1.0. I have a home.jspx page that has a ADF table built on efttBilling View Object. . When you click on one of the rows in the table, it will take you to detail.jspx where you can edit the row and save. When 'save' is clicked, stored procedures are executed to update/insert rows into few tables , and then go back to home.jspx where you need to see updated content for that row.
    To get down to the exact issue, updates are made to the tables on which the efttBilling View Object is built using a stored procedure. Once this is done, I am trying to requery view object to see new content. But I keep getting JBO-25014: Another user has changed the row with primary key oracle.jbo.Key error. Following are the approaches I followed to query new results:
    a. Executed Application Modules Commit Method. Created 'Commit' Action binding and tied it to homePageDef.xml. Called this binding from a view scope bean.
        BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
         OperationBinding operationBinding = bindings.getOperationBinding("Commit");
        Object result = operationBinding.execute();
       if (!operationBinding.getErrors().isEmpty())
        return null;
    b. Marked 'Refresh on Insert' , 'Refresh on Update', 'Change Indicator' checkboxes for all the attributes in the entities associated with efttBilling View Object.
    c. Tried to Requery View Object. Created a refreshViewObject method in Application Module Impl.java file, exposed this method to the client interface and created a invokeMethod Action binding in home.jspx
    Code in Application Module:
      public void refresheftTransactionsforBillingAccountViewObj1View()
        System.out.println("In eftTransactionsforBillingAccountViewObj1");
      findViewObject("eftTransactionsforBillingAccountViewObj1").executeQuery();
    Code in view scope bean
            DCBindingContainer bindings =
           (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
            OperationBinding operation =
            bindings.getOperationBinding("refresheftTransactionsforBillingAccountViewObj1View");
            operation.execute();
    I have searched web, ADF forums and tried methods suggested in there but no sucess.
    Could anyone please provide some insight in this issue. I have been battling with this since quite some time. I can provide you with the log file too.
    Thanks!
    Shai.

    What code does your Commit method have .. can you try using the Commit executable from the AM itself instead ?
    Also -
    Shai wrote:
    'Change Indicator' checkboxes for all the attributes in the entities associated with efttBilling View Object.
    which all attributes you set this property for . it should just be for History columns as such.
    Did you also check if this could be your scenario ?
    Decompiling ADF Binaries: Yet another reason for &quot;JBO-25014: Another user has changed the row with primary key orac…
    OR
    JBO-25014: Another user has changed the row with primary key oracle.jbo.Key
    OR
    Another user has changed the row with primary key -Table changed externally
    Message was edited by: SudiptoDesmukh

  • Windows Update Client failed to detect with error 0xc8000247 after using Lenovo System Update 5

    My Windows 7, SP1 was running fine, until I installed few updates on 10/15 using Lenovo System Update 5 then Windows Update stopped working, shows as RED:
    {CE3119AD-35EF-41CF-9C21-C7698FEB8393}    2013-10-14 21:53:00:256-0700    1    147    101    {00000000-0000-0000-0000-000000000000}    0    0    AutomaticUpdates    Success    Software Synchronization    Windows Update Client successfully detected 4 updates.
    {EB17A01A-EB6E-49FF-9EA2-AA0DD063B4B1}    2013-10-15 04:15:54:069-0700    1    162    101    {C61A0D00-3E51-48AC-B0AF-1D3E02B9E5D3}    201    0    AutomaticUpdates    Success    Content Download    Download succeeded.
    {77DAE88F-2795-4258-8BBF-8D27E53662CF}    2013-10-15 12:10:38:196-0700    1    193    102    {00000000-0000-0000-0000-000000000000}    0    0    AutomaticUpdates    Success    Content Install    Restart Required: To complete the installation of the following updates, the computer must be restarted. Until this computer has been restarted, Windows cannot search for or download new updates:  - Security Update for Windows 7 for x64-based Systems (KB2862330)
    {1398F777-3AEF-4D1D-BE4C-407EC4AEAD4C}    2013-10-15 12:15:25:676-0700    1    183    101    {C61A0D00-3E51-48AC-B0AF-1D3E02B9E5D3}    201    0    AutomaticUpdates    Success    Content Install    Installation Successful: Windows successfully installed the following update: Security Update for Windows 7 for x64-based Systems (KB2862330)
    {A220898A-E5FE-4FE7-8413-2B0C7B4013D0}    2013-10-15 12:15:25:766-0700    1    202    102    {00000000-0000-0000-0000-000000000000}    0    0    AutomaticUpdates    Success    Content Install    Reboot completed.
    {A5400FF2-33ED-4A47-8409-13E5DFE16A6D}    2013-10-15 19:29:31:486-0700    1    147    101    {00000000-0000-0000-0000-000000000000}    0    0    ChkWuDrv    Success    Software Synchronization    Windows Update Client successfully detected 0 updates.
    {43C533EE-775D-445E-A652-06648B72DE65}    2013-10-15 19:29:49:702-0700    1    147    101    {00000000-0000-0000-0000-000000000000}    0    0    ChkWuDrv    Success    Software Synchronization    Windows Update Client successfully detected 0 updates.
    {D6AAAFFB-7F18-4A7E-B39D-1BA09CDC5E6D}    2013-10-15 19:30:05:744-0700    1    147    101    {00000000-0000-0000-0000-000000000000}    0    0    AutomaticUpdates    Success    Software Synchronization    Windows Update Client successfully detected 3 updates.
    {4E73B1C1-5BA2-415D-AB34-92F7AB3DB418}    2013-10-15 19:30:08:753-0700    1    147    101    {00000000-0000-0000-0000-000000000000}    0    0    ChkWuDrv    Success    Software Synchronization    Windows Update Client successfully detected 0 updates.
    {51248882-41AC-4E59-B813-87AD326310AD}    2013-10-15 20:00:05:044-0700    1    183    101    {DBD3B4E9-0357-47DA-8317-D0CF2163BFE6}    501    0    wusa    Success    Content Install    Installation Successful: Windows successfully installed the following update: Hotfix for Windows (KB2661796)
    {FB2B8E5E-442C-4E76-B23D-6A41B4324C9D}    2013-10-16 00:11:39:832-0700    1    148    101    {00000000-0000-0000-0000-000000000000}    0    c8000247    AutomaticUpdates    Failure    Software Synchronization    Windows Update Client failed to detect with error 0xc8000247.
    Lenovo Thinkpad W500, Intel (R), Windows 7, SP1, latest updates as of Oct 15
    (1) Checked Setting,  set to automatic update whenever, even changed to never update, rebooted the OS and changed back to automatic update and rebooted the OS.
    (2) Stopped Windows Update Services, renamed SoftwareDistribution folder and started the window update services and rebooted.
    (3) Ran MS FIXIT
    (4) Ran System File checker Scan (sfc /scannow)
    (5) Ran CHKDSK /F
    (6) Installed "Intel Rapid Storage Technology" drivers from Lenovo site
    (7) Ran Update for Windows 7 for x64-based Systems (KB971033)
    None of the above possible recommended solutions were able to fix the issue yet and now I am getting a message your Window is Not Genuine!
    Any help or guidance is appreciated.
    Solved!
    Go to Solution.

    The Lenovo System Update installed the "Intel Matrix Storage Manager driver 8.9.2.1002" right before the Windows Upgrade got broken. So in the Device Manager under IDE ATA/ATAPI Controllers, I choose Intel ICH9M-E/M SATA AHCI Controller, on the Driver Tab, I choose the option "Roll Back Driver" and after rolling back the driver and restarting the OS, now Windows Update is working like a Champ!
    The End!

  • I  made the mistake when configuring a external monitor, of changing the mhz to 75. When I close the MBP I now get a black screen on the monitor. How do I change it back?

    I  made the mistake when configuring a external monitor, of changing the mhz to 75. When I close the MBP I now get a black screen on the monitor. How do I change it back?
    I have a MacBook Pro with the latest operating system, trying to configure a Gateway flat monitor with vga.
    Thanks

    Apple menu -> System Preferences -> Displays.
    System Preferences can also be found in the Hard drive -> Applications folder.
    Resetting the PRAM can help bring displays back to factory settings if you can't find what you need:
    http://support.apple.com/kb/ht1379

  • Urgent Help need - How to capture client change event

    Dear Gurus,
    I am not able to track whether user has changed any field in the table or not. I am using IWDNodeElement.isChangedByClient  to capture , but it is always returning me false.
    PLEASE HELP.
    Sample code
    wdContext.nodeTravelTable().moveFirst();
              try
                   for(int i = 1; i <= tblSize; i++)
                        wdComponentAPI.getMessageManager().reportSuccess("Currency is " + wdContext.currentCurrency_travelTableElement().getCElement());
                        wdComponentAPI.getMessageManager().reportSuccess("Is client changed" + wdContext.currentTravelModeElement().isChangedByClient());
                        if(wdContext.currentTravelModeElement().isChangedByClient())
    Thanks in Advance.
    Best Regards,
    Prasad PMV
    PS:Max points will be awarded for any kind of help

    Reply by Thomas Chadzelek 
    I would not recommend to use the changed()/isChanged() methods. They represents "dirty flags" used by our framework in certain situations ("delta handling"). I don't think that applications need access to it, except in certain situations. Anyway, these flags are set whenever an attribute is changed and reset at the end of the roundtrip.
    isChangedByClient() represents a different set of "dirty flags" whose reset is under the application's control. They are set whenever a user changes an attribute (through the Web Dynpro client), but not when server-side code does such a change.
    In NW04, these flags are quite coars-grained. A node element is marked as changed when any of its attributes has been changed.

  • Unique file name to be decoded and to be updated in a table along with data

    Hi
    I'm working on a File to Proxy scenario, where the file names(10 chars length) are unique. These files will be available for XI in a source directory. My requirement is -- file name need to be decoded into 3 values and to be updated into a r/3 database table along with the file data.
    Hope my requirement is clear.
    Thanks.

    You cannot see the field which stores the file name. The file name comes from payload at runtime.
    Secondly no need to create any input parametes in your UDF, just edit your udf and delete the input parameter (default input is 'a') so that you don't have to map any constant to this UDF just map this UDF to target field.
    e.g. UDF ---> target Field.
    I did the same but am not able to activate the mapping.
    Mapping activation Error:
    Activation of the change list canceled Check result for Message Mapping hello_mapping | http://briks.com: 
    Mapping not sufficiently defined
    Chennai.

Maybe you are looking for

  • Is there a way to change the Calendar to start on Monday while retaining your International location (i.e. Canada)?

    I don't want to change the International setting on my iPhone 4 to anything other than Canada, so is there a way to set the first day of my week to Monday while retaining the international setting?

  • Solaris 10/08 LUCREATE fails to exclude directories

    OK: I am trying to exclude the /usr1 filesystem when I create a new boot environment: Here is what I have tried so far without any luck: lucreate -c S1008-orig -m /:c0t0d0s7:ufs -z /tmp/exclude -n S10NEW09 /tmp/exclude x /usr1 lucreate -c S1008-orig

  • Managing huge data for  online news paper

    Hi I am currently working on a project for an online news paper. We at present are analysing the ways for managing the huge amount of data ie for current news and archives. The best way so far in our mind, is storing them in the files in zip format.

  • Advanced text editing in WebDynpro Java

    Hi, Please let me know how can I add advanced text editing (making text bold or italic or changing the font of text ) in WebDynpro Java? Is it possible to do it in JSP and integrate in WebDynpro using IFRAME? Please advice me. Regards, Umapathi

  • Program and Source Monitor buttons not working?

    I need to take a screen capture of my project, but NONE of the Program monitor buttons are working. I click them and it doesn't do anything. I'm posting this because none of the suggestions in the other discussions helped me at all. Screen Capture wo