Lost trigger

Hi,
on a test platform I had a trigger on a view.
I recently added some new columns to the view, using create or replace, not realising that I would lose the trigger on the table!!!
As this is a test platform there are no back-ups.
Quite some time had been spent on the trigger, but it had not been saved on any client pc's
We have not enabled any of the flashback features, but without this is there anyway to recover the trigger on a 11r1 database.
thanks,
Robert.

Sorry, strike that - after reworking some of your examples I found what I was looking for - you have just made meeting my next deadline so much more possible...
Very happy man awarding you full points, massive appreciation....
Thank You.
Robert.

Similar Messages

  • How to account for a broken sensor

    I have 3 sensors coming from 3 com ports to my lab view program. I have all the sensors going into the same loop for the data to be time stamped and saved. Currently if one of the sensors stop working the program slows dramatically and does some weird things since no data is coming in.
    So, I was wondering if someone could suggest a way to put NAN values for when a sensor stops working or gets unplugged from the computer so that the program will continue to work properly for the rest of the sensors. Also, it would be nice if I could find a way for the program to check occasionally to see if the sensor has started working again.
    Thanks for your help.

    The question about whether you can shorten the timeout depends on the device itself.  How long does it usually take to respond? How consistent is that timing?
    the first step you should take is to handle/log errors so that you know what is happening.  When it fails, is it a communications error (e.g. serial read returns an error), or is it a functional problem (instrument returning NaN codes)?
    If this CSAT3 is the campbell sonic anemometer (http://www.campbellsci.com/documents/manuals/csat3​.pdf), make sure you read and understand the serial protocol it implements very well. Note especially table B-8 where they give the codes for "not available" and "lost trigger".  Since the 5th word is used one way for these fault conditions and another way for normal conditions, if you aren't looking for 0xF000 or 0xF03F in word 4 (and 0x8000 in 0-3), you'll wind up trying to decode its NaN signal as -65.536 m/s. 
    I can't see your subVIs, so I don't know how you've configured it, but the timeout is a setting you apply to the serial connection when you initialize it. Default is usually 10 seconds.
    -Barrett
    CLD

  • ISync has lost ability to sync incrementally

    15" Aluminum 1.5 GHz PowerBook G4 running 10.4.8, Address Book 4.0.4 (485.1), iSync 2.3 (500.86), Motorola E815 running software version 8720_01.17.03
    I have a Motorola E815 on Verizon. I bought it because it was the first Verizon phone that supported Bluetooth syncing.
    I have been syncing my OS X Address Book contacts and iCal data with the phone with no problem for over a year.
    I had a kernel panic in January and lost iCal and Address book data. No worries, that gets backed up every morning to my iDisk . I restored it.
    However, since then every time I use iSync it seems to take much longer, along the lines of a full or first-time sync.
    For instance, I'll sync, and then remember to add one more contact to my sync set, and sync again. That used to be a really quick sync because it was updating just one change, but now the second sync takes just as long as the first.
    Any ideas what might be going on? Why did things change since the restore?
    By the way, I think I restored all application preferences, as well. That's one of the items in my daily backup to iDisk, and after that kernel panic a few things were goofy so I restored all applications preferences, not just the address book and iCal data.

    It sounds as if your events are being forced into slow synchronization mode each time, which should only have happened the first time you synchronized after restoring the data and triggering the next event.
    Launch iSync, open the Preferences… dialog and press the Reset Sync History button. That will leave your clients registered and your data intact, but remove any synchronization history from the truth database. When you next trigger an event, it should force a single slow synchronization merging your data, unless you have selected instead to replace the data on your mobile handset. From that point on, it should operate as you expect it to.
    Here is a document describing how the Sync Service framework operates:
    http://developer.apple.com/macosx/syncservices.html

  • Problem with trigger and entity in JHeadsart, JBO-25019

    Hi to all,
    I am using JDeveloper 10.1.2 and developing an application using ADF Business Components and JheadStart 10.1.2.27
    I have a problem with trigger and entity in JHeadsart
    I have 3 entity and 3 views
    DsitTelephoneView based on DsitTelephone entity based on DSIT_TELEPHONE database table.
    TelUoView based on TelUo entity based on TEL_UO database table.
    NewAnnuaireView based on NewAnnuaire entity based on NEW_ANNUAIRE database view.
    I am using JHS to create :
    A JHS table-form based on DsitTelephoneView
    A JHS table based on TelUoView
    A JHS table based on NewAnnuaireView
    LIB_POSTE is a :
    DSIT_TELEPHONE column
    TEL_UO column
    NEW_ANNUAIRE column
    NEW_ANNUAIRE database view is built from DSIT_TELEPHONE database table.
    Lib_poste is an updatable attribut in TelUo entity, DsitTelephone entity, NewAnnuaire entity.
    Lib_poste is upadated in JHS table based on TelUoView
    I added a trigger on my database shema « IAN » to upadate LIB_POSTE in DSIT_TELEPHONE database table :
    CREATE OR REPLACES TRIGGER “IAN”.TEL_UO_UPDATE_LIB_POSTE
    AFTER INSERT OR UPDATE OFF lib_poste ONE IAN.TEL_UO
    FOR EACH ROW
    BEGIN
    UPDATE DSIT_TELEPHONE T
    SET t.lib_poste = :new.lib_poste
    WHERE t.id_tel = :new.id_tel;
    END;
    When I change the lib_poste with the application :
    - the lib_poste in DSIT_TELEPHONE database table is correctly updated by trigger.
    - but in JHS table-form based on DsitTelephoneView the lib_poste is not updated. If I do a quicksearch it is updated.
    - in JHS table based on NewAnnuaireView the lib_poste is not updated. if I do a quicksearch, I have an error:
    oracle.jbo.RowAlreadyDeletedException: JBO-25019: The row of entity of the key oracle.jbo. Key [null 25588] is not found in NewAnnuaire.
    25588 is the primary key off row in NEW_ANNUAIRE whose lib_poste was updated by the trigger.
    It is as if it had lost the bond with the row in the entity.
    Could you help me please ?
    Regards
    Laurent

    The following example should help.
    SQL> create sequence workorders_seq
      2  start with 1
      3  increment by 1
      4  nocycle
      5  nocache;
    Sequence created.
    SQL> create table workorders(workorder_id number,
      2  description varchar2(30),
      3   created_date date default sysdate);
    Table created.
    SQL> CREATE OR REPLACE TRIGGER TIMESTAMP_CREATED
      2  BEFORE INSERT ON workorders
      3  FOR EACH ROW
      4  BEGIN
      5  SELECT workorders_seq.nextval
      6    INTO :new.workorder_id
      7    FROM dual;
      8  END;
      9  /
    Trigger created.
    SQL> ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS';
    Session altered.
    SQL> insert into workorders(description) values('test1');
    1 row created.
    SQL> insert into workorders(description) values('test2');
    1 row created.
    SQL> select * from workorders;
    WORKORDER_ID DESCRIPTION                    CREATED_DATE
               1 test1                          30-NOV-2004 15:30:34
               2 test2                          30-NOV-2004 15:30:42
    2 rows selected.

  • How to trigger Bookmarks (Safari) syncing without the need to merge??

    I found that my bookmarks were out of sync on my home Mac (although iCloud was active), after I did some sorting and cleaning on the office Mac. Since I found no other way (wait or reboot did not help), I did deactivate and then re-activate bookmarks syncing in Preferences => iCloud => Safari. This DID trigger syncing, BUT (after I was offered the option to cancel or to merge) the result was that now the sorting and cleaning work I did before was lost. In fact, it was worse because of the merge in two directions.
    So the question is:
    What can one do to force syncing in a way that avoids the merge?
    It is really stupid that there is no option (like with MobileMe) to select the sync direction. Or did I miss that?

    OK, you are correct, but this is only due to the phrasing of my last comment and not because of the quality of iCloud syncing. MobileMe was MUCH better in this respect! It DID offer the option to overwrite the data WITHOUT the need to manually delete before.
    In addition, this was not the core point.
    The main point is that iCloud for (at least to me) unknown reasons did stop performing its job for the bookmarks that were synced before.
    I would like to know if there is an option to trigger syncing, without the need to delete manually, and then switch of and on again.
    Again, the question is:
    What can one do to force syncing in a way that avoids the merge?

  • How to Create a table with numeric trigger for INSERT

    Let me start off by saying that I am very new to DBMS.
    I need to create a Table with INSERT Trigger. I am not exactly sure if I need to have a BEFORE ot AFTER insert trigger but leanning towards AFTER.
    I have a Java code that will need insert a row each time that piece of code is executed. I would also like an oracle trigger to insert a unique numeric value (REC_ID) for that that record.
    I am totally lost and I am not sure how to go about it. Can you point me to the right direction?
    Basically my table will have the following 3 columns
    REC_ID NUMBER NOT NULL (uniquie value inserted by the trigger)
    PROPERTY_NAME VARCHAR2(100 BYTE)
    PROPERTY_VAL VARCHAR2(100 BYTE)
    Thank you in advance
    Eric

    Take a look at the following: Also please do a search in this forum.
    http://infolab.stanford.edu/~ullman/fcdb/oracle/or-jdbc.html

  • IMAQdx with JAI and a hardware trigger

    Hello,
    We are working with two 'JAI AD-080' cameras and IMAQdx, and have two problems regarding the triggering and frame grabbing:
    1)  We are unable to change the trigger source through IMAQdx property node or the Vision Acquisition Express; Vision Acquisition block.
    2)  When we manually edit the trigger source property using the NI Measurement and Automation Explorer (MAX) to its correct value, we can't get all four of the CCD's to run at a time without resulting in bad packets, e.g. horizontal black lines across the images.
    Our goal is to obtain the images from the 4 CCD's at a rate of 5 Hz using our hardware trigger.  We can already connect and obtain all four images at full speed, but the 5 Hz trigger is not being used by the cameras in that case.
    Details of the setup:
    NI 2011, Windows 7 
    Two (2) JAI AD-080 cameras (with 2 CCD's each), GigE cameras connected over Ethernet
    Hardware triggering at 5 Hz, on pin:  'Line 7 - TTL In 1'
    Details of the problem:
    (1)  Setting the trigger source not possible in Vision Express or IMAQdx property node
    In order to use our hardware trigger, we have to set the camera property 'CameraAttributes::AcquisitionControl::TriggerSour​ce' to a specific pin (Line 7 - TTL In 1).  This property is available in MAX, but is not usable in the Vision Express Block.  The property is present, but the values are invalid.  Here is what I think is happening:  the list of properties are read from the camera, but LabVIEW does not know what the valid values are for that property and it populates the value drop-down menu with whatever was loaded last.  This can be seen in figures 1 and 2 where the values in the drop down menu change.
    Similarly, this property of 'Trigger Source' cannot be changed programmatically using the IMAQdx property node shown here: http://digital.ni.com/public.nsf/allkb/E50864BB41B​54D1E8625730100535E88
    I have tried all numeric values from 0 to 255, and most give me a value out of range error, but the ones that do work result in no change to the camera.
    (2)  Lost packets in image during triggering
    If I set the 'Trigger Source' property in MAX to the correct pin, save the configuration, and then use the Vision Acquisition Express block to connect to the camera, the triggering works properly (the hardware trigger is used and the images are received by LabVIEW at 5 Hz).  However, this only works for one CCD:  If i use the same code for all four CCD's at the same time, I get black bars on the images, and at least one of the CCD's result in an error in 'IMAQdx Get Image.vi'  (code -1074360308, -1074360316)
    I tested this by using the configuration attributes created by the Vision Express Block, (The string used in the 'IMAQdx Read Attributes From String.vi'),  in the code we have been developing as well as a very simplified version which I have attached.  Those configuration attributes are saved in the text files:  JAI_Config_TrigON.txt and JAI_Config_TrigOFF.txt for using triggering or not respectively.  
    So my final questions are:
    Is there a problem with the IMAQdx because it doesn't recognize the trigger source value?
    Do you have any suggestions for why there are bad packets and trouble connecting to the cameras when I load them with the trigger on attributes?
    Thank you for your time - 
    Attachments:
    Fig1_VisionAcq.png ‏387 KB
    Fig2_VisionAcq.png ‏442 KB
    Fig3_BadPackets.png ‏501 KB

    Hello,
    Thank you for your response; especially the speed in which you responded and the level of detail.  
    I have not solved the problem fully in LabVIEW yet, but I was able remove the black lines and apparitions from the images using different camera parameters.  
    Since this was a significant victory I wanted to update:
    1)  Version of IMAQdx?
    I have IMAQdx 4.0, but the problem persists.
    2)  Setting configuration files
    Your suggestion to pay attention to the order in which the properties are set as well as using the MAX settings is very helpful.  I have not explored this feature fully, but I was able to successfully use MAX to set the default settings and then open the cameras programmatically without loading a new configuration file.  
    3)  Bandwidth limitations
    I modified the CCD's to only use 250 Mbits/second, but the lost packets (or missing lines/ apparitions) were still present.  
    4)  JAI AD-080GE Specifics
    I am using the JAI AD-080GE; and there are two settings for this camera that I want to mention:  
    JAI Acquisition Control>> Exposure Mode (JAI)>>Edge pre-select
    JAI Acquisition Control>> Exposure Mode (JAI)>>Delayed readout EPS trigger
    The "Edge pre-select" mode uses an external trigger to initiate the capture, and then the video signal is read out when the image is done being exposed.
    The "Delayed readout EPS trigger" can delay the transmission of a captured image in relation to the frame start.  It is recommended by JAI to prevent network congestion if there are several cameras triggered simultaneously on the same GigE interface.  The frame starts when the 'trigger 0' is pulsed, then stored on the camera, then is transmitted on 'trigger 1'.  
    The default selection is the "Delayed readout EPS trigger", however, I do not know how to set the 'trigger 1' properly yet and I only have one connection available on my embedded board that is handling the triggering right now (I don't know if 'trigger 1' needs to be on a separate line or not).  Incidentally, the system does not work on this setting and gives me the black lines (aka lost packets/ apparitions).
    I was able remove the black lines and apparitions using the "Edge pre-select" option on all 4 images with a 5 Hz simultaneous trigger.  I confirmed this using the "JAI Control Tool" that ships with the cameras.  I am unable to make this happen in MAX though, as the trigger mode is automatically switched to 'off' if I use the mode:  JAI Acquisition Control>> Exposure Mode (JAI)>>Edge pre-select
    i.e. when manually switching the trigger mode to 'on' in MAX, "JAI Acquisition Control>> Exposure Mode (JAI)>>Delayed readout EPS trigger" option is forced by MAX.  The vise-versa is also forced so that if EPS mode is chosen, "Trigger Mode Off" is forced.
    Additionally, there is a setting called:
    Image Format Control>>Sync Mode>>Sync     &     Image Format Control>>Sync Mode>>Async
    When the "Sync" option is chosen the NIR CCD uses the trigger of the VIS CCD.  In addition to using the "Edge pre-select" option, the "Sync" option improves the triggering results significantly.  
    5)  Future troubleshooting
    Since I cannot set the camera parameters manually in MAX (due to MAX forcing different combinations of parameters in 4), I am going to explore manually editing the configuration file and loading those parameters at startup.  This can be tricky since a bad combination will stall the camera, but I can verify the settings in JAI Control Tool first.  There is also an SDK that is shipped with the cameras, so I may be able to use those commands.  I haven't learned C/C++ yet, but I have teammates who have.

  • Lost iPod Touch: Will it auto-connect to open wifi?

    My daughter received a brand new iPod Touch for Christmas. Not a week later and she lost it at a friend's house.
    Fortunately, I had set it up to work with my iCloud subscription and enabled the "Track My iPhone" feature. But of course it is not connected to my daughter's friend's WiFi.
    So I was thinking that I could ask that they temporarily open up their wifi network (i.e., not require a password) in hopes that the iPod Touch will automatically scan and connect to the open access point. If it does, then I should be able to both locate it on a map and also trigger it to play a high-volume sound, all through iCloud.
    Question is:
    Assuming the iPod Touch's battery is not already drained....does the iPod Touch automatically/consistently scan for open wifi networks and, if it senses one, does it automatically connect? Or is it like a laptop, where you have to manually connect?
    Thanks in advance for any help with this!

    It depends upon what setting you have on the iPod. The following os from the User Guide (sorry about the formatting):
    Set iPod touch to ask if you want 
    to join a new network
    Go to Settings > Wi-Fi and turn “Ask to Join Networks” on or off.
    If “Ask to Join Networks” is turned off, you must manually join a network to
    connect to the Internet when a previously used network isn’t available.

  • Check Box functionally lost when visiblity is turned off then back on

    Please pardon my attempt to ask a coherent question for I am new to Oracle Forms!
    I have created a canvas using the layout wizard against an Oracle table. I needed to provide the means to select mulitple records for DELETION; so, I created a check box item beside the database items to allow the ability to select records to delete. I also allow the user to query this table in query mode against a couple of columns to help isolate records to be deleted. So far, I have gotten the expected functionality from the check box on the initial query of this form.
    Now, heres my problem!
    When I try to reduce the query result while in "ENTER_QUERY" (F7) mode, I intentionally make my check box item invisible. The thought being "I should not allow users opportunity select records for deletion while in the process of querying the table to fetch the records you will be deleting from!" Once I press F8 to execute the my query, I issue the following statements in my KEY-EXEQRY trigger:
    set_item_property( 'EFIS_EMAIL_QUEUE.SELECTTODELETE', VISIBLE, PROPERTY_TRUE );
    set_item_property( 'EFIS_EMAIL_QUEUE.SELECTTODELETE', ENABLED, PROPERTY_TRUE );
    My results are displayed along with the check box to select records for deletion!
    At thsi point, the functionally of the check box no longer works!
    I get a forms error "(FRM-40200) Field is protected against update."
    I look in the Property Palette under the Physical section and the Visible attribute is set to "Yes"!
    Can someone tell me why turning the visible attribute "OFF*" and then back "*ON*" caused the lost functionity?*
    What must I do to get this functionally back without abandoning this design premise?+
    Is there some other attribute settings I must reset in addition to the two set_item_property issued above?+
    Thanks in advance!
    Les

    Add to your code following statement
    set_item_property( 'EFIS_EMAIL_QUEUE.SELECTTODELETE', UPDATE_ALLOWED, PROPERTY_TRUE );
    and hopefully that should take care of your problem.

  • ADF BC: Creating updatable VO based upon DB View with "instead of" trigger

    Hello all,
    I have got an interesting issue. I have an Oracle DB view that is used to hide some complexity in the underlying DB design (it does some unions). This view is updatable because we have created an "instead of" update trigger to update the correct table when a row is updated. This is working fine in SQL.
    Next, we have created an ADF Entity object based upon the view, specifying an appropriate PK for the DB View. Then, we have created an updatable VO based upon the EO. All well and good so far. The issue we have is in trying to commit changes to the DB - because the ADF BC framework is trying to lock the row to update (using SELECT ... FOR UPDATE), it's not working because of ORA-02014 - cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc.
    This leads me to thinking about overridding doSelect() on the EO as hinted here http://radio.weblogs.com/0118231/stories/2005/07/28/differenceBetweenViewObjectSelectAndEntityDoselectMethod.html
    As a temporary test, we have over-ridden the EO's doSelect to call super.doSelect(false) and it does work, although we will have lost update issues as detailed in Steve's article.
    My questions:
    1). Is overriding doSelect() the correct thing here? Perhaps there is a better way of handling this problem? I do have a base EO class from which all of the EO's extend, so adding this behavior should be straightforward.
    2). Does anyone have example doSelect implementation? I am thinking of overriding doSelect for my EO and calling super.doSelect (lock=false), but then I need to deal with some possible exceptions, no?
    Kind regards,
    John

    Hi John,
    I have exactly the same issue as you experienced back in January. I have a complex data modelling requirement which requires the need to pivot rows into columns using ROW_NUMBER() and PARTITION clauses. To hide the complexity from the middle tier, I have created a database view and appropriate INSTEAD OF triggers and mapped my EO to the view. I have overriden the lock() method on the EO implementation class (to avoid ORA-02014) and would like to try the same solution you used with the pl/sql call to lock the record.
    My question is, how did you manage the release of the lock if the transaction was not rolled back or committed by your application i.e. if the user closed the browser for instance.
    In my naivity, I would like to think that the BC4J framework would release any locks for the database session when it found the servlet session to be terminated however my concern is that the lock would persist and cause complications.
    Any assistance greatly appreciated (if you would be willing to supply your lock() method and pl/sql procedure logic I would be even more grateful!).
    Many thanks,
    Dave
    London

  • In search of the lost notification window...

    Hi there,
    I'm having a question regarding Mac Os X. It's a question that I'm having for many years. It's something that annoys me regularly and today I would like to find out if others have the same problem, too, or if there might be a simple solution that I'm not yet aware of.
    I'm using OS X with a lot of applications open, on two different monitors and several virtual desktops. I'm regularly having the problem that I open a file in an application and there's a notification-window somewhere and I can not find it.
    I'm illustrating this with the last incident, just 5 minutes ago: I've pulled an image file from an email-attachment in Airmail to the Photoshop-icon in my dock. I'm checking other emails while Photoshop is loading. I go back to Photoshop when it finished starting-up. The image-file is not open yet and all menus are greyed-out, because there's a notification-window open (probably informing me about a missing color-profile), but it's hidden somewhere behind other windows. I've programmed two of my hot-corners to show me all windows of the active application and all windows of all applications, but it does not show me the notification window if I trigger that function. Even if I'm checking each (virtual, real) desktop and pull away each application-window I can not find the notification window for Photoshop. All I'm able to do is to force-close Photoshop (because all menus are greyed-out) and re-open Photoshop and re-open the image-file from within Photoshop again, with Photoshop in the foreground to get the notification-window to show up. It's a bit annoying.
    The same thing happens to me constantly when I'm copying files. Sometimes it takes 30 minutes or longer to copy large files or archives from one place to another. Sometimes I'm just losing the window showing me the copy-progress. Even in the finder-menu "Windows" the copy-progress is not shown, so I'm not able to bring the progress-bar into the foreground via the menu. All I can do is search manually through every monitor and virtual desktop by pulling away windows and looking what's behind them until I found the progress-bar-window. Sometimes I can just not find it nevertheless. If I go into one of my hot corners then the progress-bar-window is not showing up as a regular window. So sometimes, when I 'lost' that progress-bar-window and I'm not sure if the copy-process is finished or not the only possibility to check if the copy-process is finished or not is to try to eject the drive I'm copying to or from. If OS X tells me: "not able to eject drive because blabla..." then I know that the process is still running, but I won't know how long the process is still taking. I just have to wait and try again and try again and try again until I can eject the drive.
    I'm not sure if I'm the only person experiencing this. Maybe I just have too many windows open, but I'm working with a lot of different files and apps. In my opinion it's a programming-bug or at least a very annoying characteristic of the Macintosh Operating System since... I don't know, maybe 2000? Or Os 5? I think it's been a characteristic of any Mac OS since I'm working with Mac, so probably since my times on a Performa ...
    If someone has a tip for how to locate these notification-windows and progress-bar-windows in case they get lost: would be wonderful to learn about a work-around, or even better: if some programmer at Apple could just put notification-windows and progress-bar-windows into the "Windows-menu" where they obviously would belong to. A simple change like this would make my Mac-experience so much more efficient ...
    Many thanks in advance!
    x, S

    Weirdly enough I can not replicate the missing notification-window to take a screen-grab: the notification window now always just stays in the foreground. Maybe it's really a bug that only happens once in a while...
    If you open a file and a notification-window pops up, then activating Mission Control HIDES the notification window though. That really should be considered not to be a bug but an inconvenience that could be avoided by including the notifications in Mission Control.
    Will try to take a screen-grab next time it happens...

  • How do I get back my small icon for one click completion of my name and address etc. I lost it when I got back my web address bar

    I was getting frustrated that I had no address bar to put in an address and go straight to the page, but in restoring that I have lost my small icon which I clicked on when I wanted to complete all my personal data on the many sites such as the council, shopping sites etc. It used to fill in my name, address, telephone number, email address, etc. It was a small square firefox icon. I am using a Toshiba Laptop, with Windows Vista operating system

    "small pencil" - Is this the '''exact''' extension you have installed? <br />
    https://addons.mozilla.org/en-US/firefox/addon/autofill-forms/
    I don't know where you are getting '''Ctrl + Q''' from - that extension uses '''''Alt + J''''' to trigger the 'autofill' feature when the cursor is in the first form field.
    '''FillForms''' extension doesn't seem to have a "small pencil" associated with it. <br />
    https://addons.mozilla.org/en-US/firefox/addon/fillforms/ <br />
    But it does use '''Ctrl + Q''' till web forms. <br />
    ''Sorry can't help you with that extension, the 'support' page is written in a SE Asian language which is undecipherable to me. <br /> http://www.symental.com/bbs/

  • Attachments lost in CRM

    Hi Guys
    I have a issue which is sproadic in nature. Attachments are getting lost in CRM. Let me explain it in detail
    User adds attachments(4 of them) to service order and changes status and conntrans it. ( The conntrans start time is  at
    9.58.00 and end time is at 10.03.46(for this user). I can get this info from the transaction SMWMCOMM)
    The attachements are sent to CRM and confirmation is sent back.We have a subscription where we dont want the order to come back to mobile.
    Hence i see a SBDOC DIRECT SEND getting formed for servie order at 10.03.03 for that order with DELETE task for this mobile client.
    Similarly for the 4 ATTACHMNT_WR bdoc as well at 10.03.11 DELETE Task is sent to mobile.
    The above happens in the first conntrans run itself(as the conntrans end time is 10.03.46).
    All is fine until now.
    Now comes the problem, mobile somehow triggers DELETE for these attachments . This happens at 10.05.03.  Why should mobile trigger DELETE bdocs for these attachments again when nothing has happened in mobile???
    It just received DELETE for the attachments which means it needs to clear it in its tables,but why would it trigger DELETE SBDOC inbound bdocs again and send it to CRM???? I can see SBDOC INBOUND(before validation bdocs) for these 4 attachments at 10.05.03 with DELETE task which ultimately deletesfrm CRM as well.
    Obviously the user has not done any change within this time period as the time when mobile recevies the DELETE task(at 10.03) and send DELETE task(10.05) for attchment is jst 2 mnts!!!!
    Please give your thought on what could be the scenario when mobile itself triggers bdocs to CRM??
    Thanks
    Abi

    hi Abhi,
    This is not a solution but a thought to help you find out the root cause.
    You have mentioned that a DELETE is send via subscription. Why dont you try to take that subscription out and do a manual delete using sql command on a test machine and see what happens. If the problem do not occur it means there is some problem in that subscription. Then you can try fixing it by debugging the way this subscription is designed.
    Regards,
    Aparna

  • The Init() method of abstract pagebean always it excute, and i lost data.

    Hi,
    I have applicaction to buid in NetBean 6.1 and JDK 1.6 using Visual Web Java Server Pages. This application to present a view that have a 2 calendar component, 1 dropdownlist, button component and table component.
    The table component show rows where calendar1.date > date1 and calendar2.date < date2 and estado(DropDownList)= status1
    In the init() method of abstractpagebean i set de initial calendar's date that follow
    java.util.Calendar dateAntes = GregorianCalendar.getInstance();
    java.util.Calendar date = GregorianCalendar.getInstance();
    dateAntes.add(java.util.Calendar.MONTH, -1);
    GregorianCalendar gc = new GregorianCalendar(2000, 11, 20);
    //tablePhaseListener = getSessionBean1().getTablePhaseListener();
    calendar1.setSelectedDate(dateAntes.getTime());
    calendar2.setSelectedDate(date.getTime());
    With this initial dates dates i show the table row thw follow
    String command = "SELECT ALL codreqgmc, fechareq,cliente.nomclie,estado.Descripcion as Estado, " +
    "requerimiento.codtecnico, requerimiento.rutclie, requerimiento.codestado " +
    "FROM requerimiento,cliente,estado " +
    "WHERE requerimiento.rutclie=cliente.rutclie and requerimiento.codestado=estado.codestado and fechareq>=" + "'" + formatoFecha.format(calendar1.getSelectedDate()) + "'" +
    "AND fechareq<=" + "'" + formatoFecha.format(calendar2.getSelectedDate()) + "'";
    try {
    getSessionBean1().getRequerimientoRowSet().setCommand(command);
    getSessionBean1().getRequerimientoRowSet().getCommand();
    getSessionBean1().getRequerimientoDataProvider().refresh();
    } catch (Exception e) {
    error("No puede levantar comando");
    log("Cannot switch to person " +
    estados.getSelected().toString(), e);
    The DropDownList implement the ProcessValueChange Event with AutoSubmit On Change properties. At Change choise of DropDown List Component it trigger a event that and execute estados_processValueChange method that to show a table rows accord to the new filter (include the new calendar date if necessary that follow:
    String command = "SELECT ALL codreqgmc, fechareq,cliente.nomclie,estado.Descripcion as Estado, " +
    "requerimiento.codtecnico, requerimiento.rutclie, requerimiento.codestado " +
    "FROM requerimiento,cliente,estado " +
    "WHERE requerimiento.rutclie=cliente.rutclie and requerimiento.codestado=estado.codestado and fechareq>=" + "'" + formatoFecha.format(calendar1.getSelectedDate()) + "'" +
    "AND fechareq<=" + "'" + formatoFecha.format(calendar2.getSelectedDate()) + "'";
    try {
    getSessionBean1().getRequerimientoRowSet().setCommand(command + " AND requerimiento.codestado =" + "'" + (String) estados.getSelected() + "'");
    getSessionBean1().getRequerimientoRowSet().getCommand();
    getSessionBean1().getRequerimientoDataProvider().refresh();
    } catch (Exception e) {
    error("No puede levantar comando");
    log("Cannot switch to person " +
    estados.getSelected().toString(), e);
    The Table component have a column of checkbox type for select a particular(s) row(s). With a Button it to choose all the rows that has been to set checkbox, in the session bean to save this selected rows and link to another page that show the details about seletec rows.
    The Problem
    Every time that i press the button, after to the select the rows, for another page showme detail, this page is empty because it execute the init method before the button_action, to re initialize and erase the user selection and lost it
    I try with another component that trigger event, por exmaple dropdownlist, and it the same, even to press the pagin in teh table it execute init meth, re-initialize and erase all.
    Result prove
    1.- I execute the application for first time:
              Execute      Init()
    2.- I Chage choos en the DropDownList
              Execute      Init() and
              after           estado_processValueChange()
    3.- I change choos again in the DropDownList
              Execute      Init() and
              after           estado_processValueChange()
    4.- I press pagin button in table
              Execute      Init()
    5.- I press button detail, for detail
         Execute      Init() ----> I reinitialize and lost the user select.
         after          Butoon_action
    How ia can to preven that every time it execute init(),
    Why alway it execute init method?, the init methd() is for initialize application and not RE INTIALIZED
    Why is the relation INIT(); PREPROCESS(), PRERENDER(), PROCESSVALUECHANGE, BUTTON_ACTION. What it execute first, what secodn?
    I need execute init method only one , at first time
    I hope i undertandme, i not native english.
    Thank for advance

    Anupama,
    Do you mean init or wdDoInit? You cannot call the later as well as you cannot call any WD-framework methods that start with "wd" prefix.
    By the way, wdDoInit in component controller (do not confuse with custom controller or interface controller) is called before any other method in any controller. So I hardly believe that it is not called when your view become available.
    Valery Silaev
    SaM Solutions
    http://www.sam-solutions.net

  • How to use double click trigger in ListBoxItem template?

    Hi all,
    I want to double click listBoxItem in listbox, and set this item as editable status. It says make textbox as visible, please see the below code. When press Enter key or lost focus, then make textbox as invisible and textblock as visible. It's better to use
    trigger to switch the status, but I do not know how to do it, thanks!
    <Setter Property="Template">
    <Setter.Value>
    <ControlTemplate TargetType="ListBoxItem">
    <Grid>
    <TextBlock Text="{Binding FirstName}" />
    <TextBox Text="{Binding FirstName}"/>
    </Grid>
    </ControlTemplate>
    </Setter.Value>
    </Setter>

    Did you consider using a DataGrid? This control has editing capabilities built-in:
    https://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid(v=vs.110).aspx
    Otherwise you could add a boolean property to the class with the FirstName property, toggle this one in an event handler for the MouseDoubleClick event of the ListBoxItem and then use data triggers. Here is an example for you that should give you the
    idea:
    <ListBox x:Name="lb1">
    <ListBox.ItemContainerStyle>
    <Style TargetType="ListBoxItem">
    <EventSetter Event="MouseDoubleClick" Handler="OnMouseDoubleClick"/>
    </Style>
    </ListBox.ItemContainerStyle>
    <ListBox.ItemTemplate>
    <DataTemplate>
    <Grid>
    <TextBlock x:Name="tb" Text="{Binding FirstName}" Visibility="Visible"/>
    <TextBox x:Name="tx" Text="{Binding FirstName}" Visibility="Collapsed"
    LostKeyboardFocus="tx_LostFocus" PreviewKeyDown="tx_PreviewKeyDown"/>
    </Grid>
    <DataTemplate.Triggers>
    <DataTrigger Binding="{Binding IsInEditMode}" Value="True">
    <Setter TargetName="tb" Property="Visibility" Value="Collapsed"/>
    <Setter TargetName="tx" Property="Visibility" Value="Visible"/>
    </DataTrigger>
    </DataTemplate.Triggers>
    </DataTemplate>
    </ListBox.ItemTemplate>
    </ListBox>
    public MainWindow()
    InitializeComponent();
    List<YourItem> myDataType = new List<YourItem>()
    new YourItem{ FirstName = "Name..."}
    lb1.ItemsSource = myDataType;
    private void OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
    ListBoxItem lbi = sender as ListBoxItem;
    YourItem item = lbi.DataContext as YourItem;
    if (item != null)
    item.IsInEditMode = !item.IsInEditMode;
    private void tx_LostFocus(object sender, RoutedEventArgs e)
    TextBox txt = sender as TextBox;
    YourItem item = txt.DataContext as YourItem;
    if (item != null)
    item.IsInEditMode = false;
    private void tx_PreviewKeyDown(object sender, KeyEventArgs e)
    if (e.Key == Key.Return)
    e.Handled = true;
    TextBox txt = sender as TextBox;
    YourItem item = txt.DataContext as YourItem;
    if (item != null)
    item.IsInEditMode = false;
    Make sure that your model class implements the INotifyPropertyChanged interface correctly:
    public class YourItem : INotifyPropertyChanged
    public string FirstName { get; set; }
    private bool _isInEditMode;
    public bool IsInEditMode
    get { return _isInEditMode; }
    set { _isInEditMode = value; NotifyPropertyChanged("IsInEditMode"); }
    public event PropertyChangedEventHandler PropertyChanged;
    private void NotifyPropertyChanged(string propertyName)
    if (PropertyChanged != null)
    PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    Hope that helps.
    Please remember to close your threads by marking helpful posts as answer and then start a new thread if you have a new question. Please don't post several questions in the same thread.

Maybe you are looking for