JClient: set dirty flag after prepared stmnt to activate trans. buttons?

Hi,
I wrote a service method with a call to a prepared statement that makes a bulk insert (insert into a select ... from b).
This service method returns the number of inserted rows.
In my button action after a call my service method I refresh the ViewObject.
The new rows are displayed, I know that they are not committed but the transaction buttons are not activated.
How can I set the transaction dirty flag to true so that the transaction buttons are active?
My button action method:
private void jButton1_actionPerformed(ActionEvent e)
SiteTablesAM siteTablesAM = (SiteTablesAM)panelBinding.getDataControl().getApplicationModule();
int numOfAddedRows = ((TranslationsAM)siteTablesAM.findApplicationModule("TranslationsAM1")).createMissingCurrencyLangRows();
if (numOfAddedRows > 0)
// navBar.doExecuteButtonAction(); tested this but has same result
siteTablesAM.findViewObject("TranslationsAM1.CurrencyLangVO1").executeQuery();
panelBinding.refreshControl();
JOptionPane.showMessageDialog(this,numOfAddedRows+" rows have been added.\nTranslate the labels or delete the added rows.","Info",JOptionPane.INFORMATION_MESSAGE);
It would be more elegant to do the wole job on the server side => after call to prepared statement, refresh the ViewObject + "fire a transaction change event".
Could you help me on this one.
Thanks
Frederic

I've found a workaround:
this.setAttribute(this.getAttribute());
this makes the transaction dirty.
I would have preferred a more elegant solution.
I've noticed that when calling preparedStatement.executeUpdate() on a DBTransaction the isDirty flag stays false.
Is this normal, executeUpdate is always a DML statement?
Thanks
Frederic

Similar Messages

  • What is the best practise for setting dirty flag of a page/view?

    For a page/view, normaylly there are 2 things to do for diry data:
    1. when it's clean, Save button is disabled, when it's dirty, save button is enabled.
    2. when it's dirty and the window is closed, a popup says "you have unsaved data, close will lose the data".
    My thought is: it must be handled at client side, because not all valuechange is auto submitted. E.g., you type the 1st letter of a string in a input box, the server side does not know it, but save button should be enabled immediately.
    Is it possible to capture all valueChange events in a page or a view at client side?
    I'm not sure what is the best practise for setting dirty flag? If there is better solution? Does ADF provide facility for this?

    public void save(ActionEvent event){
    boolean formValid = isFormValid();
       if (formValid) {
      save button is enabled.
        private boolean isFormValid() {
            boolean valid = true;
            if (Check Condition 1) {
                valid = false;
               showErrorMessage1();
            if (Check Condition 2) {
                valid = false;
               showErrorMessage1();
            return valid;
        private void showErrorMessage1() {
                    when it's dirty and the window is closed, a popup says "you have unsaved data, close will lose the data".

  • Follow up action to set delete flag after UD (QS41, QS51)

    Hi all,
    If user give UD as 'not good' for Equipment (eg Vernier Caliper) then he has to set delete flag for maintenance plan no and Equipment no through IP02 and IE02 respectively
    now he want that, above delete flag should set automatically after giving UD so particular maintenance plan or equipment should not release in future.
    I got one follow up action 'QM_PM' in transaction QS51 due to this after giving UD for Inspection lot, plan get technically complete (TECHO)
    so how to make changes so i'll achieve above functionality
    plz tell me about catalog, follow up action, QS41
    thanks....

    Hi all,
    i got one solution on which i am working
    Steps:
    1.The solution is to use the User Exit namely QEVA0010 and use the logic as mentioned below.
    2. Test and use the above mentioned user exit.
    3. The first condition should be checked for Inspection Type - 14 and for UD code NG.
    4.Logic to be used To set the deletion flag for the Equipment.
       Go to Table QAPP - Pass inspection lot Number and get the Equipment no.
       Go to Table EQUI - Pass Equipment no and get OBJNR  
    Go to Table JEST - Pass the Objnr - The value for deletion flag status is active is I0076 and the value for deletion  flag inactive is I0320.
       In order to set the deletion Flag,use help of FM - STATUS_CHANGE_INTERN to code.
    5.Logic to be used To set the deletion flag for the Maintenance Plan.
    Go to Table QALS - Pass inspection lot no and get the order no.
    Go to Table AFIH - Pass order no - Get maintenance Plan.
    Go to Table MPLA - Pass the maintenance plan and get the Objnr no.
    JEST - Pass the Objnr - The value for deletion flag status is active is I0076 and the value for deletion flag inactive is I0320.
      In order to set the deletion Flag,use help of FM - STATUS_CHANGE_INTERN to code.

  • Dirty flag set for readonly file page

    We are using BDB 4.8.26 transactional data store on Windows 2008 R2.
    DB is logging the message "dirty flag set for readonly file page" to the error log ... this entry was logged 17 times in a 24 hr period. The system processes about 3-5 requests a second.
    We also are having an incorrect "SECONDARY inconsistent with primary" error reported - this used to be very rare but has increased with increased concurrency. But the dirty flag error is recent - after we dropped a secondary and added a new one - there was no error during the secondary drop and rebuild process.
    Appreciate any help on this.
    Thanks
    Kimman Balakrishnan

    Hi Kimman,
    I assume you are not opening your databases with the DB_RDONLY flag. This could be cause by not running recovery after a system or application failure. Make sure you run recovery correctly, single threaded, after each system or application failure; review the Architecting Transactional Data Store applications documentation section.
    Regards,
    Andrei

  • I am using apple configerator. I am unable to prepare or supervise 1 ipad. After preparing, I get an error that says "refresh completed but with an error, unable to verify supervision state" . I have erased all content and set up as a new ipad.

    I am using apple configerator. I am unable to prepare or supervise 1 ipad. After preparing, I get an error that says "refresh completed but with an error, unable to verify supervision state" . I have erased all content and set up as a new ipad and tried again with no success. Any help would be appreciated

    Hello jaybearden,
    Thanks for the question. After reviewing your post, it sounds like you are not able to restore the iOS device since you get an error 9. I would recommend that you read this article, it may be able to help the issue.
    Resolve iOS update and restore errors - Apple Support
    Check your security software
    Related errors: 2, 4, 6, 9, 1000, 1611, 9006. Sometimes security software can prevent your device from communicating with either the Apple update server or with your device.
    Check your security software and settings to make sure that they aren't preventing a connection to the Apple servers.
    Thanks for using Apple Support Communities.
    Have a nice day,
    Mario

  • How to set document "dirty" flag

    Hi I wonder if there is a  simple way to set document "dirty" flag.
    The thing is that I am modifing layer XMP info in action script but this change is not reflected by setting the document to modified state
    Lukas

    I wonder how fast it would be to set the currect layer colour?
    IE:-
    layerColour('red')
    function layerColour(colour) {
        switch (colour.toLocaleLowerCase()){
            case 'red': colour = 'Rd  '; break;
            case 'orange' : colour = 'Orng'; break;
            case 'yellow' : colour = 'Ylw '; break;
            case 'yellow' : colour = 'Ylw '; break;
            case 'green' : colour = 'Grn '; break;
            case 'blue' : colour = 'Bl  '; break;
            case 'violet' : colour = 'Vlt '; break;
            case 'gray' : colour = 'Gry '; break;
            case 'none' : colour = 'None'; break;
            default : colour = 'None'; break;
        var desc = new ActionDescriptor();
            var ref = new ActionReference();
            ref.putEnumerated( charIDToTypeID('Lyr '), charIDToTypeID('Ordn'), charIDToTypeID('Trgt') );
        desc.putReference( charIDToTypeID('null'), ref );
            var desc2 = new ActionDescriptor();
            desc2.putEnumerated( charIDToTypeID('Clr '), charIDToTypeID('Clr '), charIDToTypeID(colour) );
        desc.putObject( charIDToTypeID('T   '), charIDToTypeID('Lyr '), desc2 );
        executeAction( charIDToTypeID('setd'), desc, DialogModes.NO );

  • WBS Series break up after setting deletion flag

    Hi Experts,
    I was having WBS levels at 1 and 2. I have set the deletion flag at one of my level 2 WBS. Now, the WBS has disappeared. Now, when I am creating new WBS it is skipping the series like for an example:-
    I was having WBS
    WBS     A
    WBS     A.1
    WBS     A.2 - Deletion Flag set
    Now, I am creating new WBS, I think system should allow me to create WBS with A.2 but it is giving number A.3
    I want to know is this is standard behavior or is there any other alternative so that I could use the same A.2 number for new WBS
    Please suggest.
    Thanks,
    Y.Kanitkar

    Hello,
    This is a standard behavior. As for setting deletion flag on the WBS element, it is not physically deleted. If you set the following indicator, you can find the deleted objects in the project structure again.
    Then, there is some more information about naming the WBS element with a used number. If you have already physically deleted this WBS element but there is message CJ026 when you try to name the WBS element with a used number, you can check in table VSPRPS_CN. If there is data in this table, you still cannot use this number again. You can refer to note 529634 for more details.
    Best regards,
    Kim

  • Query on Undo Set Stream flags.

    Hi All,
              I'm using AEGP_SetStreamValue to update the value of the effect parameter. The Edit menu shows Undo Set Stream flags. Now if I Undo, nothing happens. I tried AEGP_StartUndoGroup() before I set the stream value. I end the undo group after setting the stream value using AGP_EndUndoGroup(). Still Edit menu is showing Undo Set Stream Flags.
              What is the issue? Any ideas?
    Thanks,
    Dheeraj.

    Sounds like the internal CoDec commands of the RED importer and in turn points to a leaky plug-in, meaning it's a bug. Short of getting an updated version of the plug-in I see no way to fix that.
    Mylenium

  • Set deletion flag on process order.

    Hi Friends,
    My requirement is i want to set deletion flag on process order.
    For this system gives error as
    1. System status CRCR is active (ORD 93000112)
    2. System status ORRQ is active (ORD 93000112)
    Here i have solve the problem number one through transaction code BS22 (i.e. under System status I0241 -CRCR , previously LKZS - Set deletion indicator & LVMS -Mark for deletion was maintain as Forbidd now i have made it under No influence )
    after saving this customization system give only error two ( System status ORRQ is active (ORD 93000112)
    Same way when i try to find ORRQ but here i havenu2019t found  ORRQ.
    Could you plz help me.
    Best Regards,
    Parag Save.

    Dear,
    The system sets this status when you release the order, provided that the Order record required indicator is set in the order type-dependent parameters (see Customizing for Process Order)....
    This setting is there in SPRO....
    Production Planning for Process Industries - Process Order-Master Data-Order-Define Order type Dependent parameters...
    In this you set the option Order record Required....
    Requirements are that the process orders are settled, associated PI sheets, inspection lots and any linked purchase orders are complete.
    Following are prerequisites for closing a process order
    1 The order must have the status Released (REL) or Technically completed (TECO)
    2 The order balance must be 0
    3 There can be no open purchase requisitions, purchase orders.
    4 There can be no future change records from confirmation processes.
    .Now Calculate Overheads using Tcode : KGI2 - Individual Processing
    CO43 - Collective Processing
    Step to be follow,
    1.Calculate WIP using Tcode : KKAX - Individual Processing
    KKAO - Collective Processing
    2.Calculate Variance by using Tcode : KKS2 - Individual Processing
    KKS1 - Collective Processing
    3.Finally do the settlement of Order in Tcode : KO88 - Individual Processing
    CO88 - Collective Processing
    Please refer this thread also,
    https://forums.sdn.sap.com/click.jspa?searchID=17422319&messageID=5934846
    The transaction COA5 (Archive Administration Preprocessing).
    This will allow you to set the deletion flag
    Hope this helps.
    Regards,
    R.Brahmankar

  • IMAPMessage is read-only Exception while changing setting the Flag

    Hi,
    I am getting " IMAPMessage is read-only" Exception while setting the Flag to SEEN/DELETED but the chages are effecting in mail(gmail).
    below is my code, please help me in this.
    Session session = Session.getDefaultInstance(props, null);
               Store store = session.getStore("imaps");
               store.connect("imap.gmail.com", username, password);
               Folder inbox= store.getFolder("Inbox");
               inbox.open(Folder.READ_WRITE);
                  Message[] msgsArr = inbox.getMessages();
                  for (int i = msgsArr .length - 1; i >= 0; i--) {
                    try {
                   IMAPMessage msg = (IMAPMessage) msgsArr ;
    msg.setFlag(Flags.Flag.DELETED, true);
    msg.saveChanges();
    catch (Exception e) {
    e.printStackTrace();
    Thanks,
    Reddy

    You don't need the call to saveChanges after setting the flags.
    Also, you don't need to cast to IMAPMessage.

  • Record dirty immediately after query

    Records are dirty immediately after quering/retrieved. I find it is only a certain type of record. I am very new to Jdeveloper. How do I go about researching what may be causing this? any suggestons?

    Hi,
    the transaction is dirty only if you set values to attributes of a row. So if you just follow the wizards to create the AM then this should not be the case. There must be more in what you do. You can run the tester first to see if this is originated from the business service. If it is then think about what you did beyond following the wizard steps
    Frank

  • Setting Deletion flag or locking Workcenter.

    hi,
    i would like to know what difference it makes in locking the workcenter and setting deletion flag?
    which one is a more prefffered method?
    i have set lock for a workcenter.
    after which i tried to use the same in routing, system displayed only an infomation message "workenter is locked".
    it allowed me to go ahead and add the workcenter and save the routing.
    Is there any way for system to prompt an error message, when a workcenter with lock is selected in a routing /production order /during confirmations?
    thanks in advance
    regards
    lyroj

    Hi George,
    Locking a workcenter is preventing the workcenter to be used for production.
    You can assign it to the routing here in this case it will show a warning. If you have any scenario wherein you don't want any production to happen in the workcenter then you can directly go to the change mode CR02 and set the lock at the workcenter, so this workcenter assigned to the routings will be affected with this change.
    Setting deletion flag is related to the process wherein you don't want the workcenter anymore and you want to delete the workcenter from the system. So during the next organization run this workcenter with deletion flag will be picked for consideration to  be deleted from the system and it will be deleted, if it does not have any dependency. Let's say if it is attached to a routing which is attached to a production order which still is under production then this workcenter won't be deleted.
    I hope this helps you in differentiating both the process. Please let me know if you have any further queries.
    Regards,
    Abhijeet Guha

  • Implementing Dirty Flag for a generated Model (Flex 4)

    Hi there,
    I try to implement a dirty flag for a model generated by a Data Binding Wizard. I tried several ways but always failed to get it work properly bounded to the 'enabled' property of a button. Is there a "best approach" to implement this in a by Flex 4 generated model?
    I have all the Form elements bound to the model's properties and defined fx:Bindings on the model's property as well to get the changes back to the model as well.
    -> I tried to listen to the properyChange event on the Super model but I always returned true for the Dirty flag and couldn't set it to false when I loaded the model into a Form.
    -> I tried to implement a similar approach like below, instead of doing a normal 'getter' function on the isDirty flag I bounded it to the propertyChange event, it failed exactly the same way as above
    I did used my own solution earlier like this:
    [RemoteClass(alias="VODictionaryEntry")]
         [Bindable]
         public class VODictionaryEntry
                   private var _id:Number = 0;
                   private var _terminology:String;
                   private var _description:String;
                   private var _notes:String;
                   private var _insert_date:String;
                   private var _update_date:String;
                   private var _vendor_related:Boolean;
                   public var isDirty:Boolean = false;
                   public function get vendor_related():Boolean
                        return _vendor_related;
                   public function set vendor_related(value:Boolean):void
                        _vendor_related = value;
                        isDirty = true;
                   public function get update_date():String
                        return _update_date;
                   public function set update_date(value:String):void
                        _update_date = value;
                        isDirty = true;
                   public function get insert_date():String
                        return _insert_date;
                   public function set insert_date(value:String):void
                        _insert_date = value;
                        isDirty = true;
                   public function get notes():String
                        return _notes;
                   public function set notes(value:String):void
                        _notes = value;
                        isDirty = true;
                   public function get description():String
                        return _description;
                   public function set description(value:String):void
                        _description = value;
                        isDirty = true;
                   public function get terminology():String
                        return _terminology;
                   public function set terminology(value:String):void
                        _terminology = value;
                        isDirty = true;
                   public function get id():Number
                        return _id;
                   public function set id(value:Number):void
                        _id = value;
                        isDirty = true;
    this is a very simple solution but it worked like a charm. Can somebody suggest me something else, a better solution?
    thank you
    r. Sandor
    P.S.: I didn't include the validators to simplify the example.

    hi,
    meanwhile I come a little bit further if you implement the isDirty flag into your remote model and let generate ( to be included in the flex model as well) a model with Flex you can listen to the propertyChange event and do implement a correctly functioning bindable property.
    public function VOMessageEntry():void
         addEventListener( PropertyChangeEvent.PROPERTY_CHANGE, handlePropertyChange );
    private function handlePropertyChange( event:PropertyChangeEvent ):void
         if ( event.property != "isDirty" )
              isDirty = true;
    this code must be inserted into the generated Object itself not in the _Super_objectname source code.
    I hope I could helped somebody with this solution.
    r. Sandor

  • Yosemite Mail Sets IMAP Flags differently than earlier Mail Versions

    Since converting to Yosemite, our junk mail filtering system (a copy of Thunderbird running 24/7 on our Linux server) has not worked.   We get over 1,000 pieces of Spam per day and use this setup to screen the junk before reading on our iPhones.
    After hours of debugging I discovered that when Yosemite Mail initially downloads a message from the IMAP server (we use HostGator), Yosemite Mail sets the IMAP Flags on the server to be NonJunk    $NotJunk    NotJunk 
    Yosemite Mail does this before any message is viewed.
    This is very different than Mavericks and earlier versions of Mail.  In those earlier versions, no IMAP server Flags were set when a message was downloaded.  The same is for the current version of iOS on my iPhone; no IMAP server Flags are set.
    The problem is that the three versions a "Not Junk" flag set by Yosemite Mail are confusing Thunderbird and probably other Mail clients.
    Does anyone know a way to stop to Yosemite Mail from setting these flags?   I filled a bug report with Apple, but am not optimistic...

    Back up all data before proceeding.
    1. Triple-click anywhere in the line below on this page to select it:  
    ~/Library/Mail/Bundles
    Right-click or control-click the highlighted line and select
              Services ▹ Open
    from the contextual menu.* A folder may open, or you may get an error message that the item can't be found. Either result is normal. If the folder does open and has contents, move the contents to the Desktop. Relaunch Mail and test. If there's no change, put the contents of the folder back and quit Mail again.
    2. Repeat with this line:
    /Library/Mail/Bundles
    This time you may be prompted for your administrator login password when you remove the items. Make sure they're removed from the folder and not just copied to the Desktop. If necessary, copy them first and then move the originals to the Trash.
    *If you don't see the contextual menu item, copy the selected text to the Clipboard by pressing the key combination  command-C. In the Finder, select
              Go ▹ Go to Folder...
    from the menu bar and paste into the box that opens by pressing command-V. You won't see what you pasted because a line break is included. Press return.

  • STMS stuck at SET VERSION FLAGS state

    Hi Expert,
    We are importing TR from Dev to Qty server by stms_import tx.
    When we start import one TR... it takes 15 to 20 min to import where as it should take max 1 min. as per program.
    I checked import monitor which is showing stuck in phase "start of action SET VERSION FLAGS" since 15 min.
    All TR stuck in same phase but after 15-20 min each TR imported fine without error.
    We are using ERP 6.0 (no ecc package) on windows with MS SQL db.
    I want to know what is this phase called "SET VERSION FLAGS" and why it takes long time to import.
    Is I need to change any parameter setting?
    How to resolve issue?
    Thanks in advance.
    regards,
    Dev

    Hi Eric,
    Find below log
    ALOG:
    DEVK902005      
    PRD.ALL L 0000 20150409121631 USERABAP
    TMSADM  
    PRDSAPDB 20150409121631145  
    DVEK902005      
    PRD.ALL w 0000 20150409122019 USERABAP
    TMSADM  
    PRDSAPDB 20150409121631145  
    ALL             
    PRD.ALL 6 0000 20150409122518         
    TMSADM  
    PRDSAPDB 20150409121631145  
    DEVK902005      
    PRD:666 I 0000 20150409122523 USERABAP
    TMSADM  
    PRDSAPDB 20150409121631145  
    DEVK902005      
    PRD
    < 0000 20150409122523 USERABAP
    TMSADM  
    PRDSAPDB 20150409121631145  
    DEVK902005      
    PRD.ALL v 0000 20150409123020 USERABAP
    TMSADM 
    SLOG:
    START TRANSMIT BUFFER ENTR PRD g 
    20150409121556         
    TMSADM  
    PRDSAPDB               
    STOP  TRANSMIT BUFFER ENTR PRD g 0000 20150409121556         
    TMSADM  
    PRDSAPDB               
    START imp single      
    PRD   
    20150409121631         
    TMSADM  
    PRDSAPDB 20150409121631145  
    START CMDIMPORT       
    PRD L 
    20150409121631         
    TMSADM  
    PRDSAPDB 20150409121631145  
    STOP  CMDIMPORT       
    PRD L 
    20150409121631         
    TMSADM  
    PRDSAPDB 20150409121631145  
    START CREATE VERSIONS BEFO PRD w 
    20150409121632         
    TMSADM  
    PRDSAPDB 20150409121631145  
    START tp_getprots     
    PRD W 
    20150409121632         
    TMSADM  
    PRDSAPDB 20150409121631145  
    STOP  tp_getprots     
    PRD W 
    20150409122027         
    TMSADM  
    PRDSAPDB 20150409121631145  
    STOP  CREATE VERSIONS BEFO PRD w 
    20150409122027         
    TMSADM  
    PRDSAPDB 20150409121631145  
    INFO  TBATG CONVERSION OF  PRD N 
    not needed             
    TMSADM  
    PRDSAPDB 20150409121631145  
    START MOVE NAMETABS   
    PRD 6 
    20150409122027         
    TMSADM  
    PRDSAPDB 20150409121631145  
    START tp_getprots     
    PRD P 
    20150409122027         
    TMSADM  
    PRDSAPDB 20150409121631145  
    STOP  tp_getprots     
    PRD P 
    20150409122522         
    TMSADM  
    PRDSAPDB 20150409121631145  
    STOP  MOVE NAMETABS   
    PRD 6 
    20150409122522         
    TMSADM  
    PRDSAPDB 20150409121631145  
    START MAIN IMPORT     
    PRD I 
    20150409122522         
    TMSADM  
    PRDSAPDB 20150409121631145  
    STOP  MAIN IMPORT     
    PRD I 
    20150409122523         
    TMSADM  
    PRDSAPDB 20150409121631145  
    INFO  TBATG CREATION OF EN PRD n 
    not needed             
    TMSADM  
    PRDSAPDB 20150409121631145  
    START CREATE VERSIONS AFTE PRD v 
    20150409122524         
    TMSADM  
    PRDSAPDB 20150409121631145  
    START tp_getprots     
    PRD F 
    20150409122524         
    TMSADM  
    PRDSAPDB 20150409121631145  
    STOP  tp_getprots     
    PRD F 
    20150409123029         
    TMSADM  
    PRDSAPDB 20150409121631145  
    STOP  CREATE VERSIONS AFTE PRD v 
    20150409123029         
    TMSADM  
    PRDSAPDB 20150409121631145  
    START GENERATION OF REPORT PRD G 
    20150409123029         
    TMSADM  
    PRDSAPDB 20150409121631145  
    START tp_getprots     
    PRD G 
    20150409123029         
    TMSADM  
    PRDSAPDB 20150409121631145  
    STOP  tp_getprots     
    PRD G 
    20150409123524         
    TMSADM  
    PRDSAPDB 20150409121631145  
    STOP  GENERATION OF REPORT PRD G 
    20150409123524         
    TMSADM  
    PRDSAPDB 20150409121631145  
    STOP  imp single      
    PRD   0000 20150409123524         
    TMSADM  
    PRDSAPDB 20150409121631145  
    Regards,
    Dev

Maybe you are looking for