Xcontrol event generation?

Is there anyway to make an xcontrol generate custom events? For example, I'm building a waveform graph that has some custom autoscaling options. When I place the control on my VI, I get the standard events including value change. However, that is only the main data type value change. I have a couple numeric controls that change the autoscale behavior. I'd like to have an event that response to that value change. This would be in my main VI, not in the facade VI. I know how to do it there, but in that case it only affects execution within the xcontrol.

My trouble with the NI autoscale implementation, is it roughly fills the plot area. Our particular signal is very noisy so it looks terrible in autoscale. We are also looking for random (though infrequent) spikes in the signal, so when one comes up, the change is harsh and difficult to watch. The autoscale I've implemented is based on a fixed range (although I've toyed with one based on the standard deviation of signal) that tracks around the mean. I also include the ability to offset the signal so the mean moves either up or down on the y-axis. The result is a signal that I can keep squished down and watch for the spikes we are interested in. I wish NI gave some parameters to adjust the autoscale like this, but as far as I can tell, the autoscale is all or nothing. Correct me if I'm wrong.
Doing this in an xcontrol is much better than my previous implementation since I can drop it in any program without having to add any code that periodically adjusts the scale. Now it will just do it everytime I write new data to the control.

Similar Messages

  • User Events Generation - TicTacToe

    Hey everybody,
    In order to get a better understanding of how the event structures are used, I have been playing around with making a tic tac toe game (ironically, i did not know that was a coding challenge until I just started this thread). 
    Anyways, the way I'm doing it is by dynamically registering a mouse move event during mouse down on a boolean control (your game 'marker').  Then when the control is moved overtop of an activex container the boolean lights up.  Right now, however, it only works for one of the game pieces ('Dot 8').
    My question is this, can someone please show me how to create a user event?  I want to create an event where when any boolean control's position is within the bounds of the activex containers it will light up.  I could do this manually with a whole lot of logic (you'll get the idea if you check out the code) but that is rediculous and wouldn't help my learning exercise at all.
    Thanks so much for the help!
    Jonathan
    (Code is attached)
    Attachments:
    events.vi ‏107 KB

    If you want to look at the code of my interface posted HERE, See attached (LabVIEW 7.1). It uses simple mouse-down events on the array indicator to determine where to place the correct piece.
    Enjoy!
    (Disclaimer: The code is not fully tested and documented. There could be bugs There is also room for improvements)
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    TTT-Trainer3.zip ‏2139 KB

  • Custom Event generation and Handling

    HI all,
    I am new to java. I have a dataset which changes dynamically and this dataset is responsible for some other dataset(s). So whenever the original dataset is modified, the other datasets based on this dataset should be updated automatically so as to preserve the consistency.
    What I want to do is to write a custom event which is to be fired whenever the original dataset is modified and notify it to other datasets so as to ensure the consistency.
    Any help in this regard is extremely appreciated.

    HI Duffymo,
    Here is my problem for better understanding:
    I have a vector data in a NodePanel (this vector data originates from some other datastructure...but that is immaterial as we know that this data is an instance of that datastructure). This vectordata in NodePanel is responsible for another vectordata in SchedulePanel. The NodePanel and SchedulePanel are tabbedPanels in a tabbedframe. Whenever I update the vector data in NodePanel, the vector data in SchedulePanel needs to be updated.
    The solution you gave me, taught me an insight of the event handling in Java.
    I am quoting my source for your reference as I am unable to incorporate your idea into my project.
    Event class:
    import java.util.*;
    public class VectorUpdateEvent extends EventObject
         public VectorUpdateEvent(Object source)
              super(source);
    Interface to EventListener
    public interface VectorUpdateListener
         public void eventVectorUpdated(VectorUpdateEvent event);
    class EventGenerator
    import java.util.*;
    public class VectorUpdateEventIssuer
         implements EventListener
         public VectorUpdateEventIssuer()
              listListeners = new ArrayList();
         public synchronized void addVectorUpdateEventListener(VectorUpdateEvent l)
              listListeners.add(l);
         protected synchronized void removeVectorUpdateEventListener(VectorUpdateEvent l)
              listListeners.remove(listListeners.indexOf(l));
         protected void notifyVectorUpdateEvent(Object source)
              VectorUpdateEvent evt = new VectorUpdateEvent(source);
              Iterator itr = listListeners.iterator();
              while (itr.hasNext())
                   ((VectorUpdateListener)itr.next()).eventVectorUpdated(evt);
         private ArrayList listListeners;
    class where the event originates
    class NodePanel
         extends JPanel
         implements ActionListener, ListSelectionListener
         /////////////Constructors/////////////////////////
         public NodePanel()
              addNodeButton = new JButton("Add Node");
              delNodeButton = new JButton("Delete Node");
              dumpNodeButton = new JButton("Dump Node");
              reloadNodeButton = new JButton("Reload Node");
              browseButton = new JButton("Browse Node");
              exitButton = new JButton("Exit");
              add(addNodeButton);
              add(delNodeButton);
              add(dumpNodeButton);
              add(reloadNodeButton);
              add(browseButton);
              add(exitButton);
              setButtonsEnabled(false);
              addNodeButton.addActionListener(this);
              delNodeButton.addActionListener(this);
              dumpNodeButton.addActionListener(this);
              reloadNodeButton.addActionListener(this);
              browseButton.addActionListener(this);
              exitButton.addActionListener(this);
              nodesVector = new Vector();
              nodesList = new JList(nodesVector);
              this.vectorNodeAttributes = new Vector();
              JScrollPane scrollPane = new JScrollPane(nodesList);
              add(scrollPane,BorderLayout.CENTER);
              nodesList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
              nodesList.addListSelectionListener(this);
         ////////////////Methods///////////////////////////
         /////////////Event valueChanged///////////////////
         public void valueChanged(ListSelectionEvent evt)
              JList source = (JList) evt.getSource();
              setButtonsEnabled(true);
              desiredNode = (String) source.getSelectedValue();
              if (desiredNode == null)
                   setButtonsEnabled(false);
         //////////////Event actionPerformed////////////
         public void actionPerformed(ActionEvent evt)
              Object source = evt.getSource();
              if (source == addNodeButton)
                   addNodeButtonClicked();
              else if (source == delNodeButton && desiredNode != null)
                   deleteNodeButtonClicked();
              else if (source == dumpNodeButton && desiredNode != null)
                   JFileChooser d = new JFileChooser();
                   //d.setCurrentDirectory("");
                   d.setFileFilter(new XMLFilter());
                   int result = d.showSaveDialog(this);
              else if (source == reloadNodeButton && desiredNode != null)
                   JFileChooser d1 = new JFileChooser();
                   //d.setCurrentDirectory("");
                   d1.setFileFilter(new XMLFilter());
                   int result = d1.showOpenDialog(this);
                   //String filename=d1.getSelectedFile().getName();
              if (source == browseButton && desiredNode != null)
                   browseButtonClicked();
              else if (source == exitButton)
                   System.exit(0);
         //////////Enables or Diables the Buttons////////
         private void setButtonsEnabled(boolean enable)
              delNodeButton.setEnabled(enable);
              dumpNodeButton.setEnabled(enable);
              reloadNodeButton.setEnabled(enable);
              browseButton.setEnabled(enable);
              private void deleteNodeButtonClicked()
              if (noFieldDlg != null)
                   noFieldDlg.dispose();
              noFieldDlg = new NoFieldDialog("Delete the Node?");
              noFieldDlg.show();
              if (noFieldDlg.getDialogResult() == DialogResult.OK)
                   int nodeToRemove=0;
                   for (int i=0; i< vectorNodeAttributes.size(); i++)
                        if(((NodeAttributes)(vectorNodeAttributes.get(i))).getNodeName().compareTo(nodesList.getSelectedValue()) == 0)
                             nodeToRemove = i;
                   vectorNodeAttributes.remove(nodeToRemove);
                   nodesVector.removeElement(nodesList.getSelectedValue());
                   this.nodesList.setListData(nodesVector);
                   NodePanel.nodesPresent = nodesVector;
                   updateStaticNodeList();
    /*************** as soon as the NodePanel.nodesPresent is updated, the changes are to be reflected in the Schedule Panel ******************/
                   VectorUpdateEvent e = new VectorUpdateEvent(this);
                   VectorUpdateEventIssuer v = new VectorUpdateEventIssuer();
                   v.addVectorUpdateEventListener(e);
                   v.notifyVectorUpdateEvent(this);
         ///////////////Data Members////////////////////
         private JButton addNodeButton;
         private JButton delNodeButton;
         private JButton dumpNodeButton;
         private JButton reloadNodeButton;
         private JButton browseButton;
         private JButton exitButton;
         private String desiredNode;
         private OneFieldDialog oneFieldDlg = null;
         private NoFieldDialog noFieldDlg = null;
         private JList nodesList;
         private Vector nodesVector;
         private Vector vectorNodeAttributes;
         private static Vector nodesPresent = null;
    } // end class NodePanel
    import java.awt.event.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.event.*;
    ////////////////Class SchedulePanel////////////////
    class SchedulePanel extends JPanel
    implements ActionListener, ListSelectionListener, VectorUpdateListener
         ////////////////Constructors//////////////////
         public SchedulePanel()
              addScheduleButton = new JButton("Add Schedule");
              delScheduleButton = new JButton("Delete Schedule");
              dumpScheduleButton = new JButton("Dump Schedule");
              reloadScheduleButton = new JButton("Reload Schedule");
              browseScheduleButton = new JButton("Browse Schedule");
              exitButton = new JButton("Exit");
              add(addScheduleButton);
              add(delScheduleButton);
              add(dumpScheduleButton);
              add(reloadScheduleButton);
              add(browseScheduleButton);
              add(exitButton);
              setButtonsEnabled(false);
              addScheduleButton.addActionListener(this);
              delScheduleButton.addActionListener(this);
              dumpScheduleButton.addActionListener(this);
              reloadScheduleButton.addActionListener(this);
              browseScheduleButton.addActionListener(this);
              exitButton.addActionListener(this);
              scheduleVector = new Vector();
              scheduleList = new JList(scheduleVector);
              this.vectorScheduleOperations = new Vector();
              JScrollPane scrollPane = new JScrollPane(scheduleList);
              add(scrollPane);
              scheduleList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
              scheduleList.addListSelectionListener(this);
              //updateEventListener = new VectorUpdateEventIssuer();
              //updateEventListener.addVectorUpdateEventListener(this);
         /////////////Methods///////////////////////
         ////////////Event valueChanged/////////////
         public void valueChanged(ListSelectionEvent evt)
              JList source = (JList)evt.getSource();
              setButtonsEnabled(true);
              desiredSchedule = (String)source.getSelectedValue();
              if (desiredSchedule == null)
                   setButtonsEnabled(false);
         ////////////Event actionPerformed////////
         public void actionPerformed(ActionEvent evt)
              Object source = evt.getSource();
              if (source == addScheduleButton )
                   addScheduleButtonClicked();
              else if (source==delScheduleButton && desiredSchedule!=null)
                   deleteScheduleButtonClicked();
              else if (source == dumpScheduleButton && desiredSchedule!=null)
                   JFileChooser d = new JFileChooser();
                   d.setFileFilter(new XMLFilter());
                   int result = d.showSaveDialog(this);
              else if (source == reloadScheduleButton && desiredSchedule!=null)
                   JFileChooser d1 = new JFileChooser();
                   d1.setFileFilter(new XMLFilter());
                   int result = d1.showOpenDialog(this);
              else if (source == browseScheduleButton && desiredSchedule!=null)
                   browseScheduleButtonClicked();
              else if (source == exitButton)
                   System.exit(0);
         public void eventVectorUpdated(VectorUpdateEvent event)
              System.out.println("Hello! EventRaised");
         ///////////Data Members//////////////////
         private JButton addScheduleButton;
         private JButton delScheduleButton;
         private JButton dumpScheduleButton;
         private JButton reloadScheduleButton;
         private JButton browseScheduleButton;
         private JButton exitButton;
         private String desiredSchedule;
         private OneFieldDialog oneFieldDlg = null;
         private NoFieldDialog noFieldDlg = null;
         private JList scheduleList;
         private Vector scheduleVector;
         private Vector vectorScheduleOperations;
         private VectorUpdateEventIssuer updateEventListener;
    } // end class SchedulePanel
    I hope you understood my problem now. The NodeAttributes is a datastructure containing the node name and an associated table for that. THe ScheduleOperations is similar to the NodeAttributes but it contains a DefaultTableModel which inturn consists of a column which is filled with the list of current nodes available + their schedules.
    I am sorry for my long posting.
    Thanks once again in anticipation.

  • Custom Event generation

    My question is in relation to generating events. Is there any means in Java to write your own custom Events. What I am looking for is to be able to produce an event and have the actionPerformed method react to it. If this is not possible, then writting my own interface similar to ActionListener and fully implementing it to act in the same way, except that it only listens to events that I have generated. Is this possible, or do I have to hit assembler and make my own ISR's and have it interface with Java somehow?
    Any guidance would be appreciated

    You can generate your custom events and it is very easy.
    You will have to extend the EventObject class in order to make an class representing the event.
    Iam giving a brief eg:
    class MyEvent extends EventObject
    MyEvent(Object source)
    super(source);//source which generated the event.
    //your own code
    interface MyEventListener
    public void myEventPerformed(MyEvent e);
    class abc
    java.util.ArrayList arr;
    abc
    arr = new java.util.ArrayList();
    public synchronized void addMyEventListener (MyEventListener l)
    arr.add(l);
    public synchronized void removeMyEventListener (MyEventListener l)
    arr.remove(arr.indexOf(l));
    protected void notifyTransEvent(Object source)
    MyEvent tEvent = new MyEvent(source);
    Iterator itr = arr.iterator();
    Iterator itr = arr.iterator();
    while(itr.hasNext())
    ((MyEventListener)itr.next()).myEventPerformed(tEvent);
    Now anyone implementing the MyEventListener inetrface can be added in the ArrayList.The ArrayList is the list representing the interesting parties who want to receive the event.When registered they will receive the event.
    This class abc is just like an component which on certain situations generate event.You can call notifyEvent in any case where you want the event to be generated.
    You will then add this class to your main class as this
    class xyz implements MyEventListener
    abc obj;
    xyz()
    obj.addMyEventListener(this);
    public void myEventPerformed(MyEvent e)
    //your handling code
    }

  • Event generation for ISU Dunning

    Hi all,
    Scenario: I have a requirement to start a workflow for Dunning procedure in IS Utilities module.
    Problem: Now my problem is after doing transactions FPVA and FPVB no event is generated or to be precise in transaction SWEL no events r recorded. Moreover no Business Object is there for Dunning.
    So not sure as how to initiate my WorkFlow.
    Can anyone who has worked in similar scenario or in ISU Dunning, suggest something.
    Thanks n Regards,
    Sudipto.

    Sudipto
    What you want to do by triggering workflow while in dunning?
    Have you activate your TS21000186 task and checked event trace?
    Have a look at the fqevents available (FQEVENTS TCode) for dunning, these might be helpful to you.
    <b>Event Number Description </b>
    300     Dunning: Edit Proposal
    301     Dunning: Create Dunning Groups
    302     Dunning: Create Dunning Proposal
    303     Dunning: Dunning Lock and Dunning Procedure
    304     Dunning: Determine Next Dunning Level
    306     Dunning: Change Dunning Group Fields
    307     Dunning: Determine Dunning Procedure of Dunning Group
    308     Dunning: Fill Customer Fields
    309     Dunning: Change Grouping
    310     Dunning: Start Printing of Dunning Notice
    311     Dunning: Read Open Items
    320     Dunning: End Printing of Dunning Notice
    330     Dunning: New Dunning Header Entry
    340     Dunning: Dunning Data Complete (MAKO/MAZE)
    350     Dunning: Dunning Activities - Print Dunning Form
    360     Dunning: Create Charges Document 1
    361     Dunning: Create Charges Document 2
    362     Dunning: Create Charges Document 3
    363     Dunning: Account Assignment for Dunning Charges
    364     Dunning: Determ.Incoming Payment Method from VTREF
    365     Dunning: Determ. Dunnable Incoming Payment Methods
    366     Dunning: Items from Payment Orders
    367     Dunning: Leading Contract Account and Company Code
    370     Dunning: Calculate Interest
    Regds
    Manohar

  • Workflow event generation failed

    Hi All,
      I've created a workflow which would send mail if any change occurs to HR masterdata, i've tested it successfully, now my problem is that i'm failing to generate event ,that is the change done in pa 30 should generate an event but it fails to do so.event linkage is done thru Swetypv
    i've checked swehr1 swehr2 and swehr3.
    i dont know the function module used in swehr3.
    please help me to find out what the problem xactly is?
    Thanks in Advance
    Hari

    Can you check following steps
    1. Go to transaction SWDD
    2. Select your workflow
    3. Click on the basic data i.e hat icon on application toolbar.
    4. Go to start tab
    5. In workflow start by triggering event check if you have specified triggering event by 6. specifying object type and event
    7. You should get green led icons in first and second column atleast.
    8. If you have not specifed object type and event knidly do so and activate WF
    9. If not assign object type and triggering event and activate by clicking on first column and activate WF.
    Try this and let us know ur finding..
    Enjoy SAP.
    Pankaj

  • What's the best option for event generation from an Oracle database?

    Hi all,
    I need to interface from an oracle database into WLI (or elink if need be). The
    code that needs to call this interface is written in pl/sql in the database.
    What is the best way to enable the pl/sql to make a call to WLI?
    I know you can set up an event trigger on a table using the sample DBMS adapter
    so that it will send info to WLI via the events table in the database but this
    is what they call a pull event(i.e. the adapter is actually polling this table
    for whenever an event gets put into it I think).
    Has anyone ever done a push type event? (e.g. calling java code from pl/sql that
    sends event to WLI)
    Or anyone know whether the new JCA for Oracle Applications will help with this?
    I am using Oracle 8.1.7 so don't have any extras with Oracle Apps.
    thanks all
    adam

    Adam,
    I have not implemented an push event adapter with Oracle. However, I
    know the trend that seems to be happening in the industry and I can say
    I agree 100% with it's implementation. I am seeing vendors using
    Oracle's Advanced queuing features to push events out to other
    applications. One interface for AQ is PL/SQL using DBMS_AQ, DBMS_AQADM,
    and DBMS_AQELM packages, so you would not have to rewrite your current
    business logic. Although I have not done the leg work, logically, this
    would be the approach I would take if tasked to implement an Oracle
    event adapter.
    For more information register (free) for an account on Oracle Technology
    Network (OTN), then go to the following URL:
    http://otn.oracle.com/docs/products/oracle9i/doc_library/release2/appdev.920/a96587/toc.htm
    Note: (the url goes to Oracle9i, as I couldn't find the link to 8i, but
    8i AQ in will work just as well)
    Cheers,
    Chris
    Adam Finlayson wrote:
    Hi all,
    I need to interface from an oracle database into WLI (or elink if need be). The
    code that needs to call this interface is written in pl/sql in the database.
    What is the best way to enable the pl/sql to make a call to WLI?
    I know you can set up an event trigger on a table using the sample DBMS adapter
    so that it will send info to WLI via the events table in the database but this
    is what they call a pull event(i.e. the adapter is actually polling this table
    for whenever an event gets put into it I think).
    Has anyone ever done a push type event? (e.g. calling java code from pl/sql that
    sends event to WLI)
    Or anyone know whether the new JCA for Oracle Applications will help with this?
    I am using Oracle 8.1.7 so don't have any extras with Oracle Apps.
    thanks all
    adam

  • Active Directory Web Services Event 1202

    Hi all,
    I am stuck with the event 1202 (source ADWS) error on my ADLDS server hosting sharepoint extranet user repository. My sharepoint server is a domain member but
    NOT a domain controller. I do not replicate this ADLDS instance with any other server. This ADLDS instance is not synched with AD's at all.
    I already read posts existing on the subject and no one solved my problem as they're all related to ADLDS instances hosted on domain controllers
    As a reminder the event 1202 (raised minutely) description is:
    This computer is now hosting the specified directory instance, but Active Directory Web Services could not service it. Active Directory Web Services will retry this operation periodically.
    Directory instance: NTDS
    Directory instance LDAP port: 389
    Directory instance SSL port: 636
    My ADLDS instance is not named NTDS (and cannot as NTDS is the instance name of an ADDS domain) and ADWS correctly service it as the following 1200 event proove it:
    Active Directory Web Services is now servicing the specified directory instance.
    Directory instance: ADAM_ExtranetUsers
    Directory instance LDAP port: 18589
    Directory instance SSL port: 18836
    So... my investigations result after enabling ADWS diagnostics are:
    Following is the trace corresponding to the 1202 event generation
    InstanceMap: [14.11.2012 08:57:19] [4] OnTimedEvent: got an event
    InstanceMap: [14.11.2012 08:57:19] [4] CheckAndLoadAll: beginning
    InstanceMap: [14.11.2012 08:57:19] [4] CheckAndLoadNTDSInstance: entered
    InstanceMap: [14.11.2012 08:57:19] [4] CheckAndLoadNTDSInstance: found NTDS Parameters key
    InstanceMap: [14.11.2012 08:57:19] [4] CheckAndLoadNTDSInstance: trying to change state to DC
    InstanceMap: [14.11.2012 08:57:19] [4] AddRemoveSessionPoolAndDictionaryEntry: trying to change state for identifier ldap:389
    InstanceMap: [14.11.2012 08:57:19] [4] AddSessionPool: adding a session pool for NTDS
    DirectoryDataAccessImplementation: [14.11.2012 08:57:19] [4] InitializeInstance: entering, instance=NTDS, init=5, max=20
    LdapSessionPoolImplementation: [14.11.2012 08:57:19] [4] InitializeInstance: entering, instance=NTDS, init=5, max=20
    InstanceMap: [14.11.2012 08:57:20] [4] AddSessionPool: DirectoryException trying to create pool: System.DirectoryServices.Protocols.LdapException: The LDAP server is unavailable.
    For me the BUGGY part of this ADWS error state within the CheckAndLoadNTDSInstance process. It effectively try to service NTDS instance because it found the NTDS registry key supposed to contain the AD DS instance configuration parameters. The content
    of the key is the following on my system (and any system I think):
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NTDS]
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NTDS\parameters]
    "ldapserverintegrity"=dword:00000002
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NTDS\RID Values]
    This is the normal content on any domain members. But this cause the ADWS service to think there is an NTDS domain service instance to serve which is not the case !!!!!
    I resolved the error for a temporary period by removing the registry key above. Because I also think this key has nothing to do on client systems (as stated on technet). I also verified after removing the key that my ADLDS instance is still forcing SSL connections
    for simple bind (which is what the ldapserverintegrity registry value is supposed to do. Note this registry settings is also present is the ldap and my ADAM_ExtranetUsers service registry.) Everything worked like a charm for a day and my event log stopped
    reporting the 1202 event.
    But during the first night, a process recreated the NTDS service registry key I deleted. So the event 1202 start reappearing every minute. Excepting filling my event log for nothing this error has no effect on the working ADLDS instance. So I can live with
    but it's rather annoying!
    So finally my question is: Is it really a bug or did i make a mistake? If this is by design how can I prevent ADWS to try to serve an instance that does not exists on the system?
    Can I set the undocumented ADWS configuration value "InstanceRediscoveryInterval" defaulted to "00:01:00" to something that say "NEVER".
    At least to lower events count I will set it to something next to 1 hour or 1 day!
    Does someone have a better solution?
    Many thanks to any of you taking time to read my poor english ;-)

    Hi Brian,
    Thanks to take time trying to resolve my issue.
    - IPv6 is not enabled on my servers (this is one of the first thing I disable on my servers)
    - If you read my post carefully you will see that removing the NTDS registry key resolve the problem for about 1 day. This because a process recreate the key automatically during the night (I think it is the KCC process that recreate the key but I'm not
    sure)
    And if I think it is a bug this is because you can see this wonderful sequence within the traces:
    InstanceMap: [20.11.2012 05:57:13] [4] CheckAndLoadNTDSInstance: entered
    InstanceMap: [20.11.2012 05:57:13] [4] CheckAndLoadNTDSInstance: found NTDS Parameters key
    InstanceMap: [20.11.2012 05:57:13] [4] CheckAndLoadNTDSInstance: trying to change state to DC
    .... here traces that shows the exception when the system try to connect (bind) to the NTDS ldap instance generating the event 1202 error ....
    InstanceMap: [20.11.2012 05:57:14] [4] CheckAndLoadGCInstance: entered
    InstanceMap: [20.11.2012 05:57:14] [4] CheckAndLoadGCInstance: machine isn't a DC, so it isn't a GC
    Well ironically the system first think this is a DC just because it found NTDS registry key (this key exists but is empty and does not contain NTDS AD instance parameters excepting ldapserverintegrity). And the next step in the process
    (just after CheckAndLoadNTDSInstance step there is the CheckAndLoadGCInstance step) it realizes it is not a DC so it cannot be a GC (global catalog). So can you tell me why the system is trying to service the NTDS instance that does not exist !!!!! And
    it knows that... one step later....
    Well I think everything is clear and I am suprised that with a such bug I am the only one complaining about that... at least with such level of accuracy (even if I saw posts without clear responses or people complaining that the problem is not
    solved)
    So for me there is no workaround or solution to resolve this. I repeat disabling the feature is not an option as we are using ADWS to administer our users through AD module for powershell. And I'm always laughing to see poeple proposing to disable a feature
    to resolve a bug within it. It remind me the old days where Microsoft enclosed parts of code with try catch blocs to resolve bugs (in fact they just used exception swallowing to make us believe they resolved the bug.....).
    So I'm waiting a fix from Microsoft for this unbelievable mistake and a real lack of testing because I can't believe nobody realizes that !!!
    Thank you again for your help

  • Events in classes.

    Hi all
    Can any one explain me the functionality about events and event handlers in ABAP OO??
    Thanks and Regards,
    Arun Joseph

    Hi there
    Whilst the SENDER doesn't know about the RECEIVER  the reverse is not true. Some people might (wrongly) infer from the comment about the sender that the receiver doesn't know either. I'm only adding the comment below  hopefully to clear this up for some people who perhaps a new to OO programming and OO ABAP in particular.
    By using the parameter SENDER the receiver can know what object triggered the event. This is of course useful where you have say multiple grid displays on the screen and an action needs to be performed depending on what object triggered it.
    class lcl_event_handler definition.
    * CLASS     cl_event_receiver
    * DEFINITION
      public section.
        methods:
    *--To add new functional buttons to the ALV toolbar
    handle_toolbar for event toolbar of cl_gui_alv_grid
    importing e_object e_interactive
              sender,
    *--To implement user commands
    handle_user_command
    for event user_command of cl_gui_alv_grid
    importing e_ucomm
              sender,
    class lcl_event_handler  implementation.
    *--Handle Toolbar
      method handle_toolbar.
    *    PERFORM handle_toolbar USING e_object e_interactive .
      endmethod .
    *--Handle Hotspot Click
      method handle_hotspot_click .
    *    PERFORM handle_hotspot_click USING e_row_id e_column_id es_row_no .
    create object  go_handler.
        set handler  go_handler->handle_user_command
        for go_grid1.
    set handler  go_handler->handle_user_command
        for go_grid2.
    form handle_toolbar
    case g_sender
    when go_grid1
    etc
    sorry if this info is a case of "stating the obvious" but reading the forums there's quite a bit of confustion surronding event generation and handling in OO ABAP.
    Cheers
    jimbo

  • Need event example

    Hi ,
    i learn about  event and i want an example how to do it in abap oo,
    e.g. trigger event when  sales order is created or something else,
    maybe someone can help ?
    Regards

    Hello Ricardo
    We can different "flavours" of events in SAP (examples see below):
    (1) Workflow Events
    You define (or use an existing) workflow for approval of purchase requisitions above a certain threshold (proofreading by a second set of eyes). When a purchase requisition is above this level it automatically triggers a workflow which generated a workitem in the approver's inbox (transaction SO01).
    (2) Message Events (transaction NACE)
    We have implemented the following event: As soon as the warehouse confirms that a delivery is ready to be shipped to the customer (message received via inbound IDoc) this triggers automatically triggers the ASN (= Advanced Shipping Notification; outbound DESADV IDoc) for the customer.
    (3) Change Pointer
    You can define for various SAP objects (e.g. material master data) so-called changed pointer meaning that if certain changes occurs in a material master this triggers the generation of an outbound IDoc (e.g. to transmit these changes to another SAP system).
    Further readings (not a comprehensive list):
    [Event Generation|http://help.sap.com/erp2005_ehp_03/helpdata/EN/04/928c6246f311d189470000e829fbbd/content.htm]
    [Using Events|http://help.sap.com/erp2005_ehp_03/helpdata/EN/c5/e4aa8c453d11d189430000e829fbbd/content.htm]
    [Important Transaction Codes|http://help.sap.com/erp2005_ehp_03/helpdata/EN/9b/572614f6ca11d1952e0000e82dec10/content.htm]
    Please note that this list of event types is likely to be incomplete.
    Regards
      Uwe

  • How to run a particular case continuously in event based state machine architecture.

    I am making a program using event based state machine architecture, it is running as expected whenever i am generating an event, case structure corresponding to that event executes.
    we are taking some measurements from oscilloscope e.g. i am having one boolean button for rise time whenever i am pressing that that button it displays the value of rise time, it displays only once( since i have generated an event on that boolean button so it executes only once and displays value for one time and then comeback to timeout state) but in our program what we want, we want it to update value continously once that button is pressed.
    Now for a time being i have placed while loop on the case corresponding to rise time but this is not the right approach.
    since i am using state machine architecture( event based ), i am not getting how to run particular case continuously ,or if there is any other better architecture that i can use to implement the same application.
    Attached below is the program.
    Attachments:
    OScilloscope .zip ‏108 KB

    Say, in the attached program, when the user selects Autoset, it inserts corresponding state (Autoset) and now if you want this state to run again and again, probbbly you can again insert Autoset state while executing Autoset state... ohhh its confusing... check the picture below (A picture is worth a thousand words):
    1. Based on user selection, insert Autoset state.
    2. Re-insert Autoset state again and again while executing Autoset state.
    3. Now to come out of this loop, based on appropriate event generation, insert any other state AT FRONT (equivalent to Enqueue Element At Opposite End).
    I am not allergic to Kudos, in fact I love Kudos.
     Make your LabVIEW experience more CONVENIENT.

  • Create Callback VI for IMAQdx Event - Broken Wire

    My application is using IMAQdx to communicate with a Basler camera. When my camera is triggered with a digital trigger, it sends out an event when exposre finishes. I can use this event to know when to grab an image.
    I have a working VI that uses an event structure to handle this event and pull the image. Using an event structure in my main application will not work for my arcitecture, though, so I need to do a callback VI upon event generation.
    I have been trying everything to get a callback VI to work, but it seems LabVIEW thinks that the callback VI doesn't match the input to the "Register Event Callback." I have tried everything ranging from making my own VI to match the exact inputs to just using "Create Callback VI" by right-clicking. No matter what I do to the VI, there is a broken wire.
    See attached VI's. The callback VI is unnecessary because it is just a blank VI that was generated.
    Any help with this would be highly appreciated!
    Thank you,
    James
    James
    LabVIEW Professional 2014
    Attachments:
    Callback VI.vi ‏8 KB
    Initialize Camera Triggering.vi ‏24 KB

    It looks like your code is looking for a TypeDef called CtlRef.  I don't know if this is part of the IMAQdx spec, or something you need to provide, but providing it should get rid of the broken arrow.

  • VI with Several XControls on nested tabs takes minutes to load in LabVIEW 2013

    Hello all,
    I have a VI in LabVIEW 8.2 that includes more than 400 Xcontrols in nested tabs, which opens in seconds (very fast). The code was upgraded to LabVIEW 2013 and now the VI takes minutes to open and in the meantime LabVIEW is unusable with the CPU at 100%.
    I am wondering if anybody has experienced this behavior with Xcontrols.
    Thanks.

    Please note that I am working with jarcTek on this project where we inherite that UI with so many XControls instances.
    It is not like there are a lot of different XControls (there are a total of about 10 different type of XControls), but there are a lot of instances of these XControls (several 100) in 3 levels of nested tabs.
    Yes, we both had the time to re-recompile the source code between the two posts that jarcTek made. The various XControls are stored in 4 different llbs. Most of the XControls that have a lot of instances are actually pretty simple (very little code there). Finally, yes the VI property  (or the XControl library property general settings) indicate that the code is in LabVIEW 2013 [see image below]. 
    You are correct, the delay occurs after the VI is loaded from disk. The loading time is fine (we see the loading progress/dialog since there are a few 100s vis to load with that main UI), but after that everything hangs for several minutes (cpu peg at 100%). We run the Desktop execution toolkit, and we can see a lot of XControl events (1000s) that are fired during this time.
    FYI: Unloading (closing) the VI is also very slow.
    To put this in perspective, In LabVIEW 8.2 the same code is ready to run immediately after the UI opens.
    Thanks
    PJM

  • Training and Event Workflows Issue

    Hi Workflow gurus,
    I am working on Training and Event Management Workflows.
    When I create a booking or pre-booking or cancellation, I am expecting one of the following workflows to trigger.
    WS 01200147     Approve Employee Attendance Cancellation
    WS 01200151     Approve Employee's Attendance Booking
    WS 01200160     Approve Employee's Rebooking
    But workflow WS 00400120 (Correspondence error handling) is triggered.
    As per SAP documentation on Training and Event Management, Workflow WS 00400120 will be triggered for one of the following reason -
    1. Lacking authorization
    2. Missing parameters (Plan version, notification abbreviations and so on)
    3. Missing forms
    4. Form not allowed for user (user group)
    5. Incorrect recipient
    6. Missing address/name of output medium
    I am having SAP_ALL authorization, Plan Version, notif abbr, forms are maintained. Email addresses for the managers / employees / HR administrators are maintained.
    Event linkage entries are active for all above workflows.
    Can somebody help me to resolve this?
    Thanks and Regards
    Pras

    Hi Pras,
    <b>Workflow Setting is Required:</b>
    Training Management --> Day-to-Day Activities ---> Approval Workflow ---> Specify Delivery Method-Dependent Workflow Settings.
    EXAMPLE:
    Standard workflow for participation approval
    If you want to use the standard workflow for participation approval, make the following settings in the Workflow Settings infotype:
    ACTIONTYPE = BOOK (Book course participation)
    LEARNERTYPE = P (Learner of the type Person)
    WF_TASK = 12000003 (task)
    BO_TYPE = LSO_PARTIC (object type)
    WF_EVENT= BOOKREQUEST (event)
    WF_ACTION = E (Type of event generation)
    REQUEST_PERIOD = 0014 (the deadline for requesting participation is 14 days before the start of the course)
    APPROVAL_PERIOD = 0007 (the deadline for approving or rejecting
    participation is 7 days before the start of the course)
    Standard workflow for participation cancellation
    If you want to use the standard workflow for participation cancellation, make the following settings in the Workflow Settings infotype:
    ACTIONTYPE = CANC (cancellation of course participation)
    LEARNERTYPE = *(learners of all types)
    WF_TASK = 12000004 (task)
    BO_TYPE = LSO_PARTIC (object type)
    WF_EVENT= CANCELREQUEST (event)
    WF_ACTION = E (Type of event generation)
    REQUEST_PERIOD = 0010 (the deadline for requesting cancellation is 10 days before the start of the course)
    APPROVAL_PERIOD = 0005 (the deadline for approving or rejecting cancellation is 5 days before the start of the course)
    Thanks and Regards,
    Prabhakar Dharmala

  • Using WLST: Unable to create WLI Timer Event Generator

    Hello,
    I'm trying to create a WLST script, whcih will create Timer Event Generator on WLI 9.2 MP2.
    Though to some extent script runs perfect, but it gives error when calling MBean egCfgMBean = getTarget("TimerEventGeneratorss/TimerEventGenerators")
    Here is my script:-
    import weblogic.Deployer
    import com.bea.wli.mbconnector.timer as timereggen
    import com.bea.wli.mbconnector.file as fileeggen
    import com.bea.wli.management.configuration as wlicfg #Must have wli.jar in classpath
    import java.lang.Boolean as bool
    import jarray
    import sys
    print 'Starting the Timer Event Generation Configuration script .... '
    if connected != 'true':
    print 'Connecting to weblogic server .... '
    connect(userName,passWord,URL)
    else:
    print 'Connected'
    try:
    print "Creating Timer EG ", timerEgName
    timereggen.TimerConnGenerator.main(["-inName", timerEgName,"-outfile", domaindir + "/" + "WLITimerEG_" + timerEgName + ".jar"])
    #timereggen.TimerConnGenerator.main(["-inName", timerEgName,"-outfile", domaindir,"-destJNDIName",jndiName])
    #timereggen.TimerConnGenerator.main(["-inName", timerEgName,"-outfile", domaindir])
    #wlst.config()
    custom()
    #egCfgMBean = wlst.getTarget("TimerEventGenerators/TimerEventGenerators")
    egCfgMBean = getTarget("TimerEventGeneratorss/TimerEventGenerators")
    egMBean = egCfgMBean.newTimerEventGenConfigurationMBean(timerEgName)
    #egMBean = cmo.getTimerEventGenConfigurationMBeans()
    cData = jarray.zeros(1, wlicfg.TimerEventGenChannelConfiguration)
    print 'pass one'
    cData[0] = wlicfg.TimerEventGenChannelConfiguration()
    cData[0].setChannel(channel)
    cData[0].setEffective(effectiveTime)
    #cData[0].setExpiry(expiryTime)
    cData[0].setFrequency(frequency)
    cData[0].setMessageContent(message)
    cData[0].setCalendarName(calendar)
    cData[0].setPublishAsUser(publishAsUser)
    egMBean.setChannels(cData);
    appName = "WLITimerEG_" + timerEgName
    deploy( appName, domaindir + "/" + appName + ".jar", adminServerName, "nostage" )
    cd("Applications/" + appName)
    set("LoadOrder", 1500)
    cd("../..")
    print "script returns SUCCESS"
    except:
    print "ERROR: configuration"
    #dumpStack()
    # Finished
    print 'Disconnecting from server...'
    disconnect('y')
    print 'Finished.'
    exit()
    I really need some help to fix this issue.
    Thanks
    dig

    Hi,
    RDBMS Event Generator Channel Rule Definition
    When you are creating channel rule definitions in the WebLogic Integration Administration Console, it is recommended that you do not use the Back button if you want to resubmit the details on a page.
    You should always use the navigation links provided and create a new channel rule definition.
    http://download.oracle.com/docs/cd/E13214_01/wli/docs85/deploy/cluster.html
    http://download.oracle.com/docs/cd/E13214_01/wli/docs81/relnotes/relnotesLimit.html
    http://otndnld.oracle.co.jp/document/products/owli/docs10gr3/pdf/deploy.pdf
    This problem has been seen in the past when defining the channel rule for an RDBMS Event Generator if schema name was specified with the incorrect case (i.e. lowercase when it should have been uppercase or vice versa). To that end, it is suggested to change the case of the schema when creating the channel rule
    Regards,
    Kal

Maybe you are looking for

  • Photoshop elements 8 for Mac - how to move photos (events) from iphoto to pse

    I have figured out how to move one  photo over through opening a file.  But I can't move a full event or album from iphoto.  Ive tried going to bridge but when i click on the iphoto folder, it takes me into my iphoto and I'm not sure what do then, no

  • Hyper-V AD guest freezing

    Hello all! I hope someone can help us with our issue. We are running Windows 2012 Datacenter on a Host. The guest VM is running 2012 as well. Over the past couple weeks we have been having an issue where the guest that is the AD controller just freez

  • Why does my iPod touch has, despite iOS 6, no panorama function in the camera?

    Why does my iPod touch has, despite iOS 6, no panorama function in the camera?

  • Creating thumbnail images in XE

    Hi, We like to create automaticly thumbnails after immage upload through the enduser like Scott Spendolini mentioned in his webblog. Unfortunatly Oracle interMedia is necessary to do manipulate the images within the database. To install interMedia it

  • Crystal report 2011 percentage calculation(Urgent)

    All, I am working on a report which looks like the below. product>>>>>>> revenue>>>>>>>>> growth percentage a  >>>>>>>>>>>     12 >>>>>> >>>>               48% b >>>>>>> >>>>>>>13 >>>>>>>>                  52% c  >>>>>>>>>>>>>   14 >>>>>>>>>