?? Several applications with one JVM ??

Hi,
I need to run several swing application with a single JVM. (for performance reasons, especially with memory). This is ok.
But swing applications uses only one AWT-Event-Thread that is shared by all applications (Frames).
The consequence is, per example, that a modal dialog in one of the applications will block all other running applications.
Actually, this problem is bug-id = 4080029.
But there's no workaround.
Is there anyone who knows how to deal with this ??
I read an article about AppContext where I understand that it should be possible to assign a different context to each application, and also a different EventQueue to each application.
But I cannot find any documentation about AppContext, and can't understand how to use it.
Is there someone who can help with AppContext ??
-Herbien (Switzerland)

I've found the following in the src directory of JDK1.3.1 -- it's supposed to be part of javax.swing but I can't find it documented anywhere, so here goes (don't forget the Dukes if this helps):
V.V.
* @(#)AppContext.java     1.7 00/02/02
* Copyright 1998-2000 Sun Microsystems, Inc. All Rights Reserved.
* This software is the proprietary information of Sun Microsystems, Inc. 
* Use is subject to license terms.
package javax.swing;
import java.util.Hashtable;
import java.util.Enumeration;
* The AppContext is a per-SecurityContext table which stores application
* service instances.  (If you are not writing an application service, or
* don't know what one is, please do not use this class.)  The AppContext
* allows applet access to what would otherwise be potentially dangerous
* services, such as the ability to peek at EventQueues or change the
* look-and-feel of a Swing application.<p>
* Most application services use a singleton object to provide their
* services, either as a default (such as getSystemEventQueue or
* getDefaultToolkit) or as static methods with class data (System).
* The AppContext works with the former method by extending the concept
* of "default" to be SecurityContext-specific.  Application services
* lookup their singleton in the AppContext; if it hasn't been created,
* the service creates the singleton and stores it in the AppContext.<p>
* For example, here we have a Foo service, with its pre-AppContext
* code:<p>
* <code><pre>
*    public class Foo {
*        private static Foo defaultFoo = new Foo();
*        public static Foo getDefaultFoo() {
*            return defaultFoo;
*    ... Foo service methods
*    }</pre></code><p>
* The problem with the above is that the Foo service is global in scope,
* so that applets and other untrusted code can execute methods on the
* single, shared Foo instance.  The Foo service therefore either needs
* to block its use by untrusted code using a SecurityManager test, or
* restrict its capabilities so that it doesn't matter if untrusted code
* executes it.<p>
* Here's the Foo class written to use the AppContext:<p>
* <code><pre>
*    public class Foo {
*        public static Foo getDefaultFoo() {
*            Foo foo = (Foo)AppContext.getAppContext().get(Foo.class);
*            if (foo == null) {
*                foo = new Foo();
*                getAppContext().put(Foo.class, foo);
*            return foo;
*    ... Foo service methods
*    }</pre></code><p>
* Since a separate AppContext exists for each SecurityContext, trusted
* and untrusted code have access to different Foo instances.  This allows
* untrusted code access to "system-wide" services -- the service remains
* within the security "sandbox".  For example, say a malicious applet
* wants to peek all of the key events on the EventQueue to listen for
* passwords; if separate EventQueues are used for each SecurityContext
* using AppContexts, the only key events that applet will be able to
* listen to are its own.  A more reasonable applet request would be to
* change the Swing default look-and-feel; with that default stored in
* an AppContext, the applet's look-and-feel will change without
* disrupting other applets or potentially the browser itself.<p>
* Because the AppContext is a facility for safely extending application
* service support to applets, none of its methods may be blocked by a
* a SecurityManager check in a valid Java implementation.  Applets may
* therefore safely invoke any of its methods without worry of being
* blocked.
* @author  Thomas Ball
* @version 1.7 02/02/00
final class AppContext {
    /* Since the contents of an AppContext are unique to each Java
     * session, this class should never be serialized. */
    /* A map of AppContexts, referenced by SecurityContext.
     * If the map is null then only one context, the systemAppContext,
     * has been referenced so far.
    private static Hashtable security2appContexts = null;
    // A handle to be used when the SecurityContext is null.
    private static Object nullSecurityContext = new Object();
    private static AppContext systemAppContext =
        new AppContext(nullSecurityContext);
     * The hashtable associated with this AppContext.  A private delegate
     * is used instead of subclassing Hashtable so as to avoid all of
     * Hashtable's potentially risky methods, such as clear(), elements(),
     * putAll(), etc.  (It probably doesn't need to be final since the
     * class is, but I don't trust the compiler to be that smart.)
    private final Hashtable table;
    /* The last key-pair cache -- comparing to this before doing a
     * lookup in the table can save some time, at the small cost of
     * one additional pointer comparison.
    private static Object lastKey;
    private static Object lastValue;
    private AppContext(Object securityContext) {
        table = new Hashtable(2);
        if (securityContext != nullSecurityContext) {
            if (security2appContexts == null) {
                security2appContexts = new Hashtable(2, 0.2f);
            security2appContexts.put(securityContext, this);
     * Returns the appropriate AppContext for the caller,
     * as determined by its SecurityContext. 
     * @returns the AppContext for the caller.
     * @see     java.lang.SecurityManager#getSecurityContext
     * @since   1.2
    public static AppContext getAppContext() {
        // Get security context, if any.
        Object securityContext = nullSecurityContext;
Commenting out until we can reliably compute AppContexts
        SecurityManager sm = System.getSecurityManager();
        if (sm != null) {
            Object context = sm.getSecurityContext();
            if (context != null) {
                securityContext = context;
        // Map security context to AppContext.
        if (securityContext == nullSecurityContext) {
            return systemAppContext;
        AppContext appContext =
            (AppContext)security2appContexts.get(securityContext);
        if (appContext == null) {
            appContext = new AppContext(securityContext);
            security2appContexts.put(securityContext, appContext);
        return appContext;
     * Returns the value to which the specified key is mapped in this context.
     * @param   key   a key in the AppContext.
     * @return  the value to which the key is mapped in this AppContext;
     *          <code>null</code> if the key is not mapped to any value.
     * @see     #put(Object, Object)
     * @since   1.2
    public synchronized Object get(Object key) {
        if (key != lastKey || lastValue == null) {
            lastValue = table.get(key);
            lastKey = key;
        return lastValue;
     * Maps the specified <code>key</code> to the specified
     * <code>value</code> in this AppContext.  Neither the key nor the
     * value can be <code>null</code>.
     * <p>
     * The value can be retrieved by calling the <code>get</code> method
     * with a key that is equal to the original key.
     * @param      key     the AppContext key.
     * @param      value   the value.
     * @return     the previous value of the specified key in this
     *             AppContext, or <code>null</code> if it did not have one.
     * @exception  NullPointerException  if the key or value is
     *               <code>null</code>.
     * @see     #get(Object)
     * @since   1.2
    public synchronized Object put(Object key, Object value) {
        return table.put(key, value);
     * Removes the key (and its corresponding value) from this
     * AppContext. This method does nothing if the key is not in the
     * AppContext.
     * @param   key   the key that needs to be removed.
     * @return  the value to which the key had been mapped in this AppContext,
     *          or <code>null</code> if the key did not have a mapping.
     * @since   1.2
    public synchronized Object remove(Object key) {
        return table.remove(key);
     * Returns a string representation of this AppContext.
     * @since   1.2
    public String toString() {
        Object securityContext = nullSecurityContext;
        SecurityManager sm = System.getSecurityManager();
        if (sm != null) {
            Object context =
                System.getSecurityManager().getSecurityContext();
            if (context != null) {
                securityContext = context;
        String contextName = (securityContext.equals(nullSecurityContext) ?
            "null" : securityContext.toString());
     return getClass().getName() + "[SecurityContext=" + contextName + "]";
}

Similar Messages

  • Save password for several application in one workspace

    Hi, I have several applications in one workspace with custom authentication. How do I set the option to save password (which is same for all apps) , so I would not write password every time when switching from application to application. Thank you

    933913 wrote:
    Hi, I have several applications in one workspace with custom authentication. How do I set the option to save password (which is same for all apps) , so I would not write password every time when switching from application to application. Thank youIf you are using the same authentication for all your applications, then you can redirect to those applications just same as you redirect to the current app by just changing the app_id
    you can use a same session cookie name for all applications and make sure all apps use same authentication scheme
    Edit you application A > Shared Components > Authentication Scheme > edit your authentication > Session Cookie Attributes section
    set Cookie Name value to somestring
    for example: commonauthcookie
    Repeat the above step for all other applications and set the cookie name to the same as above

  • How can i creat several rectangles with one draw rect.vi

    how can i creat several rectangles with one draw rect.vi? thanks
    Solved!
    Go to Solution.

    You can call it in a for loop, with an array of the rectangle coordinates you want to draw. Is this what you mean?
    CLA, LabVIEW Versions 2010-2013
    Attachments:
    rectangle.png ‏11 KB

  • Closing all applications with one keystroke

    Hi
    There must be a trick but it has been 3 weeks I had my Imac and still have not found it
    How can I CLOSE ALL running application with one keystroke ? also how can I close the finder ... its always running and I am not sure it should.
    Up to know I love the Imac and wander how I survived on a pc for 20 years.
    Antoine

    The Finder is necessary to allow you to navigate your computer: it always runs and if you force-quit it it will immediately relaunch.
    Even if you shut down your computer normally any application with unsaved work will ask for a confirmation. You should not force a shutdown: you can damage your disk Directory by doing this and doing it repeatedly could run you into serious problems. You should only do this in the rare even that the computer locks up completely.
    It's possible to write an AppleScript which will quit all applications (though you will still be asked for confimation where applicable) but it gets a bit complicated because there are running processes which you don't want to quit, and as you're new to all this I'm reluctant to recommend this as a way to go. Otherwise there is no global method.

  • Provision a RO several times with one user using Access Policies

    Hello,
    we need to provision several Unix machines and for this purpose, we use one only resource object (SSH User). Additionallyl, we created an access policy for every machine:
    - Access Policy Unix Server 1
    - Access Policy Unix Server 2
    - Access Policy Unix Server N
    We created the following group in OIM: SSH Group.
    We set the policies in such a way that whenever a user is added to the SSH Group, the SSH User RO is provisioned with the user for every machine. We created several access policies, because the parameters of the form are different for every machine.
    The problem is that when a user is added to the SSH Group, the SSH User resource object is provisioned only once. It is provisioned by the access policy with the highest priority. We would like that the SSH User RO was provisioned by every access policy. That is, the user should have the SSH User RO provisioned N times, after adding it to the SSH Group.
    Is there any way to achieve this without creating a resource object for every Unix Machine? We need to provision more than 300 Unix machines and this would require a lot of time...
    Thank you for your help

    There are other options. You could create a child table to hold the IT Resource information, assuming all parent data is the same for every system. Then on the insert/delete to child table entries, you can provision and de-provision from that target. On disable/enable you would need to search through the child table and perform the action against all instances. The same for the other update tasks.
    This is the limitation of access policies. They manage a single resource object target instance. You could also code a generic resource that has child table entries. When an insert happens, you can use the APIs to provision and instance of the specific target with the provided details. Then you could create access policies to add entries to the child table, and each would provision the appropriate object, and deprovision too.
    Takes some custom code, but it's doable. Just remember though that they are all still the same resource object, so reporting would show them all, as well as attestation, as a single instance, with multiple provisioned to each user.
    Another option is to duplicate the work flow using find and replace in the XML and generate a unique workflow for each instance.
    -Kevin

  • Run several scripts with one master script or an automator workflow?

    I have several scripts that I need to run all at once...
    Could I make a script that would run all the other scripts, then bundle everything into an application( or something similar) so all my scripts would run with just a double click...
    Any ideas?

    Yes, this is possible. Save your master script as either an application or a script bundle (whichever is most convenient). Then, save all of your subscripts inside the bundle.
    You can then load and run the scripts from your master script. The following code does that:
    set aScriptFile to load script file (path to me as string) & "Any additional subfolders" & "Script File Name.scpt"
    run aScriptFile
    Note that "path to me" will not work properly when the script is run from within script editor. It will, however, work when run from the script menu. See the following for a discussion of that:
    http://discussions.apple.com/message.jspa?messageID=2789538

  • ADF-Create the multi panel application with one connection to DB

    Hi,
    I create a panel with table and one button.
    When I press the button its opens detail panel.
    That panel has table too. While opening detail panel there creating new connection and my application has 2 connections to DB.
    my cod:
    xxPanel2 panel2 = new xxPanel2();
    panel2.setBindingContext(getBindingContext(mBindingContext));
    …//hear showing panel
    BindingContext mBindingContext = panelBinding.getBindingContext();
    public static BindingContext getBindingContext(BindingContext fBindingContext)
    HashMap fUserParams = null;
    if (fBindingContext == null)
    JUMetaObjectManager.setErrorHandler(new JUErrorHandlerDlg());
    JUMetaObjectManager vJUMOManager = JUMetaObjectManager.getJUMom();
    vJUMOManager.setJClientDefFactory(null);
    fBindingContext = new BindingContext();
    fBindingContext.put(DataControlFactory.APP_PARAM_ENV_INFO,
    new JUEnvInfoProvider());
    fBindingContext.setLocaleContext(new DefLocaleContext(null));
    fUserParams = new HashMap(4);
    fUserParams.put(DataControlFactory.APP_PARAMS_BINDING_CONTEXT,
    fBindingContext);
    vJUMOManager.loadCpx("xproject2.DataBindings.cpx", fUserParams);
    return fBindingContext;
    }What I must add to this cod to have a one connection for whole application.
    Haw could I pass connection to the second panel?
    Thanks!

    I am sending bindingcontext of first panel's panelBindging into the second panel:
    xxPanel2 panel2 = new xxPanel2();
    panel2.setBindingContext(panelBinding.getBindingContext());But ther are exception:
    oracle.jbo.JboException: JBO-29000: Unexpected exception caught: java.lang.NullPointerException, msg=null
    at oracle.jbo.JboException.<init>(JboException.java:346)
    at oracle.adf.model.binding.DCBindingContainer.reportException(DCBindingContainer.java:225)
    at oracle.adf.model.binding.DCBindingContainer.reportException(DCBindingContainer.java:271)
    at xproject2.xxPanel2.setBindingContext(xxPanel2.java:150)
    at xproject1.xPanel1.jButton1_actionPerformed(xPanel1.java:172)
    at xproject1.xPanel1.mav$jButton1_actionPerformed(xPanel1.java)
    at xproject1.xPanel1$1.actionPerformed(xPanel1.java:70)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
    at java.awt.Component.processMouseEvent(Component.java:5488)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
    at java.awt.Component.processEvent(Component.java:5253)
    at java.awt.Container.processEvent(Container.java:1966)
    at java.awt.Component.dispatchEventImpl(Component.java:3955)
    at java.awt.Container.dispatchEventImpl(Container.java:2024)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
    at java.awt.Container.dispatchEventImpl(Container.java:2010)
    at java.awt.Window.dispatchEventImpl(Window.java:1774)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:158)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    ## Detail 0 ##
    java.lang.NullPointerException
    at oracle.jbo.uicli.jui.JUPanelBinding.bindUIControl(JUPanelBinding.java:821)
    at xproject2.xxPanel2.jbInit(xxPanel2.java:69)
    at xproject2.xxPanel2.setBindingContext(xxPanel2.java:145)
    at xproject1.xPanel1.jButton1_actionPerformed(xPanel1.java:172)
    at xproject1.xPanel1.mav$jButton1_actionPerformed(xPanel1.java)
    at xproject1.xPanel1$1.actionPerformed(xPanel1.java:70)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
    at java.awt.Component.processMouseEvent(Component.java:5488)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
    at java.awt.Component.processEvent(Component.java:5253)
    at java.awt.Container.processEvent(Container.java:1966)
    at java.awt.Component.dispatchEventImpl(Component.java:3955)
    at java.awt.Container.dispatchEventImpl(Container.java:2024)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
    at java.awt.Container.dispatchEventImpl(Container.java:2010)
    at java.awt.Window.dispatchEventImpl(Window.java:1774)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:158)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)What could I do to solve this problem?
    No I have not MSN if you want you can write me in my mail: [email protected]
    Thanks for your answer.

  • Why can't I close an application with ONE click???

    If I click the little red button with the 'X', why does the action not close the entire application, and why does the application remain active in the dock???????
    Isn't there some way (some setting maybe) that I can get a SINGLE click to close an application?

    First of all, you close a window, you quit an application. Closing a window and quitting an application are two different operations.
    But, if you press command-Q, you will quit the current application and close the windows associated with that application as a result.
    The Mac operates in this way to increase speed, minimize RAM usage, and use screen space more efficiently. Re-opening applications takes time, keeping a window open to keep an application going would take more memory, and in Windows, that window would get a button on the taskbar, which would rob screen space from other task buttons.
    The Mac is an exercise in speed and efficiency. It is the way it is for a reason. Just because you close an application window doesn't mean you're not going to use that application again in a few seconds. This functionality is more flexible and more oriented towards system performance.

  • Web.config Several match with one action

    Hello,
    I have a code in the web.config that does url rewriting for sanity sake lets say:
          <rules>
            <rule name="Redirect url" stopProcessing="true">
              <match url="file1\.aspx" />        
              <conditions>
                --con1--
              </conditions>
              <action type="Redirect" url="https://{HTTP_HOST}{SCRIPT_NAME}" redirectType="SeeOther" />
            </rule>
            <rule name="Redirect url" stopProcessing="true">
              <match url="file2\.aspx" />        
              <conditions>
                --con1--
              </conditions>
              <action type="Redirect" url="https://{HTTP_HOST}{SCRIPT_NAME}" redirectType="SeeOther" />
            </rule>
          </rules>
    The conditions and the actions are the same the only different is the match URL.
    Is there anyway to tidy up my code?

    This forum supports setup of the .NET Framework.
    For best help with your web config question, please ask in a topical Microsoft ASP.NET forum, here:
    http://forums.asp.net/

  • In the new version there's no little arrow with back or forward so you can go back several pages in one click. I use that a lot. How can I get it back?

    I've just upgraded Firefox and no longer have little arrows by the back and forward buttons on the toolbar. This means I can only click back or forward one page at a time. I used to be able to click on the arrow, see a list of previous pages and then go back (or forward) several pages with one click. I looked at adding the History button to the tool bar but that's not as convenient.

    You can get the drop down list by either right-clicking on the back/forward buttons, or holding down the left button until the list appears.
    If you want the drop-down arrow you can add it with the Back/forward dropmarker add-on - https://addons.mozilla.org/firefox/addon/backforward-dropmarker

  • Slow performance of application with 2 while-loops

    I made an application with one while-loop addressing several FP devices which runs as expected in a FP-2015. Loop time is 100 ms.
    If I add another while-loop with a timer, the performance is very slow. How come?

    I tried to do a simular thing, but I did not notice a performance decrease. However it might be possible that this happens. For example, if you are calling a time critical vi in the second while loop, it will lock all other processes until it is finished. Or maybe you are calling a shared resource (allocate an array, access to a file, using a mutex) that the other loop holds. Until the shared resource is released the first while loop must wait before it can access that resource (memory, file, etc.).
    Without looking at the source code it will be hard to say what is causing it. I recommend to remove part by part subVI's from the second loop, to debug where the problem exists. If you want I can have a look at the code, please reply to this thread.
    ErikvH
    A
    pplications Engineering
    National Instruments
    Attachments:
    Digital_Output.vi ‏56 KB

  • Accessing several applications after logging into database account once

    I have several applications with authentication against database accounts. I would like to create a situation in which users only have to log in once and are able to use all the applications they are allowed to use afterwards without having to log in again.
    Has anyone already got a solution for this problem?
    Your suggestions are very welcome,
    Greets, Dik

    I understand that it is possible for applictions within one workspace. These applications share the same session.
    What applications share the same session? Applications belonging to the same workspace that might operate at the same time? As a generic rule? No, this is not the case. Those applications share the same session only if you intend them to, but they need not.
    Applications that do not belong to the same workspace cannot share the same session.
    Single Sign-On (without a login server) is something you'd have to cook up yourself. That would have nothing to do with session-sharing but rather the ability of multiple applications to reference some artifact outside the application (a session cookie, an HTTP header value, a combination of those, ...) that would help it identify that authentication (by some trusted authority) had occurred. Each application could then do its own session management independent of that finding.
    Scott

  • Help needed in running the RMI application with multiple clients

    Hi
    I have my RMI application with one server and 6 clients. I keep all the server and client programs in the same directory. When i run the clients, the first 2 clients work properly but when the third or the fourth client starts, it works normally in getting the data and after a while it crashes. If teh third crashes the 4th works and if the 4th crashes the 3rd, 4th and 5th works ...randomly atleast one or 2 clients crash always.
    following is the error message generated for a client named controller:
    [ code ]
    Exception in thread "main" java.lang.NullPointerException
    at PostOfficeImpl.isinputAvail(PostOfficeImpl.Java:315)
    at PostOfficeImpl_Skel.dispatch(Unknown Source)
    at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:375)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:240)
    at sun,rmi.transport.Transport$1.run(Transport.java:153)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun,rmi.transport.Transport.serviceCall(Transport.java:149)
    at sun,rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
    at sun,rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
    at java.lang.Thread.run(Thread.java:595)
    at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
    at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:343)
    at PostOfficeImpl_Stub.isinputAvail(Unknown Source)
    at CONTROLLER.main(CONTROLLER.java:167)
    my ser ver program is as follows:
    class PostOfficeServer extends java.rmi.server.UnicastRemoteObject implements java.rmi.Remote {
    // Instance of ourselves
    public static String name;
    private static PostOfficeServer rmi;
    // public No-argument constructor
    public PostOfficeServer() throws RemoteException {
         super();
    public static void main(String[] args){
    if(System.getSecurityManager() == null) {
         System.setSecurityManager(new RMISecurityManager());
    try {
         new PostOfficeServer();
         PostOffice postOfficeserver = new PostOfficeImpl();
    try {
         getIP ipAdd1 = new getIP();
         String ip1 = ipAdd1.getIP();
         name = "//" + ip1 + "/PostOffice";
    catch (Exception e){
         System.out.println();
    Naming.rebind(name, postOfficeserver);
    System.out.println("RemoteServer bound");
    System.out.println("initialise Data Structure");
    postOfficeserver.initDatastructure();
    System.out.println("initilised");
    catch (java.rmi.RemoteException e) {
         System.out.println("Cannot create remote server object");
    catch (java.net.MalformedURLException e) {
         System.out.println("Cannot look up server object");
    System.out.println("Server started.");
    System.out.println("Enter <CR> to end.");
    try {
         int serve2end = System.in.read();
    }catch (IOException ioException) {
    System.exit(0);
    //endoffilePlease advise as this is very urgent

    Hi
    the following is the code for PostOfficeImpl...its a long code but i include it so that I get your help please...
    import java.io.*;
    import java.net.*;
    import java.lang.*;
    import java.rmi.*;
    import java.rmi.server.*;
    import java.rmi.RemoteException;
    import java.util.HashMap;
    import java.util.*;
    public class PostOfficeImpl extends java.rmi.server.UnicastRemoteObject implements PostOffice {
    //Implementations must have an explicit constructor in order to declare the
    //RemoteException exception
    public PostOfficeImpl() throws java.rmi.RemoteException {
         super();
    public static LinkedListImpl list = new LinkedListImpl();
    public static oListImpl ovarList  = new oListImpl();
    public static iListImpl ivarList =new iListImpl();
    public static lipsList llfirst;
    public static oList opchannel, ofirst, onext;
    public static iList ipchannel, ichan, ifirst;
    public static  String[] variNumber= new String[100];
    public static String[] inoutChan, inChan, outChan,inVAR, invarLIST,outVAR, outvarLIST ;
    public static String[][] driveMat;
    DriverMatrix_mthds drive = new DriverMatrix_mthds();
    private static  Boolean All_Vacant;
    private static  Boolean tAll_Vacant;
    public void sendAll_Vacant(Boolean All_Vacant) throws RemoteException {
         tAll_Vacant = All_Vacant;
    public Boolean getAll_Vacant() throws RemoteException{
          return tAll_Vacant;
    public  void initDatastructure() throws RemoteException{
    ifirst = null;
    ofirst=null;
    int i=0, j=0, k=0, ind1=0, ind2=0;
    try{/// initialise list
         drive = new DriverMatrix_mthds();
         drive.VarTypeArray();
         drive.nodeHeadVarType();
         String[] variablel = drive.Variablelist();
         drive.lipsvariablist();
         drive.NodeOrigin();
    drive.nodeInput();
         drive.numOfnodes();
         drive.noOfVariables();
         drive.Assignlist();
         drive.novarType();
         drive.varNameType();
         drive.nodeNumName();
         drive.driverMat();
         String[][] lookupvar = drive.varNameType();
         //tempdrive = drive.driverMat();
         long leng1 = variablel.length;
         int varlistlength = (int) leng1;
         int counter;
         String s1="";
         String s2="";
         String s3 = "";
         String s4 = "";
         String s6 = "";
         int s5=0, c=0;
         while(variablel[k] !=null){
              k=k+1;
         int i1, j1;
         String  varname, varnumber;
         varnumber = "";
    while(i<=variablel.length-1){
         if(variablel!=null){
         c=c+1;
         i=i+1;
    try{
         ind1=0; ind2 = 0;i=0;
    while(!(variablel[i].equals("end of file"))){
         s1 = variablel[i];
         i=i+1;
         s2 = variablel[i];
         i=i+1;
         System.out.println("     " + s1+"     "+s2);
    while(!(variablel[i].equals("end of input variable"))){
         s4 = variablel[i];
         i1=0;
         Brkwhile:while(i1<=lookupvar.length-1){
         j1=1;
         if(lookupvar[i1][j1] != null){
         if(lookupvar[i1][j1].equals(s4)){
              s3 = lookupvar[i1][0];
              break Brkwhile;
         i1=i1+1;
    //ifirst.varNum = varnumber;
    s5 = 0;
    s6 = null;
    ifirst= new iList(s3,s4, s5, s6);
    ivarList.add(ifirst);
    System.out.println(s3+"     "+s4+"     "+s5+"     "+s6);
    i=i+1;
    i = i + 1;
    System.out.println("input list finished ");
    while(!(variablel[i].equals("end of output variable"))){
         s4 = variablel[i];
         i1=0;
         j1=1;
         Brkwhile:while(lookupvar[i1][j1] != null){
              if(lookupvar[i1][j1].equals(s4)){
              s3 = lookupvar[i1][0];
              break Brkwhile;
         i1=i1+1;
         s5 = 0;
         s6 = null;
         ofirst= new oList(s3,s4, s5, s6);
         ovarList.add(ofirst);
         System.out.println(s3+"     "+s4+"     "+s5+"     "+s6);
         i=i+1;
         llfirst = new lipsList(s1, s2, ivarList, ovarList);
         list.add(llfirst);
         System.out.println("output list finished ");
         i=i+1;
         catch (NullPointerException ne){
         catch (Exception d){}
    public int isitOK(reqPacket sndNodetail)
         throws RemoteException{
         String nodnum = sndNodetail.srcNum;
         String varnum = sndNodetail.varNum;
         int status = 0;
         llfirst = list.getFirst();
         try{mainbegin:while (llfirst != null){
              if((llfirst.nodeNum).equals(nodnum)){
              ofirst = ovarList.getFirst();
              while(ofirst != null){
                   if((ofirst.varNum).equals(varnum)){
                   if(ofirst.varVal==null){
                   status = 1;
                   break mainbegin;
         ofirst = ofirst.next;
         llfirst = llfirst.next;
         catch (NullPointerException nl){}
         return status;
    public int senData(dataPacket sendToRTS)
         throws RemoteException{
    dataPacket datDetail = sendToRTS;
    String nnum, vnum,typename, dval;
    String dtype = "";
    nnum = datDetail.nodeNum;
    vnum = datDetail.varNum;
    typename = datDetail.dataType;
    dval = String.valueOf(datDetail.dataVal);
    String [][] tempdrive, varnametype;
    int status =0;
    System.out.println("data received is from node " nnum " is "+ dval+"var num " +vnum);
    status =0;
    try{
    //DriverMatrix_mthds drive = new DriverMatrix_mthds();
    drive.VarTypeArray();
    drive.Variablelist();
    drive.NodeOrigin();
    drive.nodeInput();
    drive.numOfnodes();
    drive.noOfVariables();
    String[][] lookupvar = drive.novarType();
    drive.varNameType();
    drive.nodeNumName();
    drive.driverMat();
    tempdrive = drive.driverMat();
    String varname="";
    int i,j;
    //with the recived var name get the var num
    for(i=0; i<=lookupvar.length-1; i++){
         j=0;
         if(lookupvar[i][j] != null){
              if(lookupvar[i][j].equals(typename)){
                   dtype = lookupvar[i][1];
         }//varname is moved to dtype n used for checking
         for(i=0; i<=tempdrive.length-1; i++){j=0;
         if (tempdrive[i][j] != null){
         if (tempdrive[i][0].equals(vnum)){
              if (tempdrive[i][1].equals(nnum)){
              if(tempdrive[i][2].equals(dtype)){
              status = 1;
         }//System.out.println("received data " vnum " "+ nnum +" " + dtype +" "+dval);// after checking status if the status is 1 then set the counter n olist// to no of times the value has to be ditributed
    int Ccount =0;
    //opchannel = llfirst.olist;
    try{
         System.out.println("status"+status);
         if (status == 1){
              llfirst = list.getFirst();
         mainWhile: while (llfirst != null){
              if((llfirst.nodeNum).equals(nnum)){
                   ofirst = ovarList.getFirst();
                   while(ofirst != null){
                   if((ofirst.varNum).equals(vnum)){
                        ofirst.varVal =dval;
                        //setting the counter for the varname
                        //check driver matrix fr the no of occurances
                   for(i=0; i<=tempdrive.length-1; i++){
                   j=0;
                   if (tempdrive[i][j] != null){
                        if (tempdrive[i][0].equals(vnum)){
                        for(j= j+3;j<=tempdrive.length-1;j++){
                        if(tempdrive[i][j] != null){
                        if(tempdrive[i][j].equals("1")){
                        Ccount = Ccount + 1;
    System.out.println("count"+Ccount);
    ofirst.counter = Ccount;
    ofirst.varNum = vnum;for(i=0; i<=lookupvar.length-1; i++){
    for(j=0; j<=2; j++){
         if(lookupvar[i][j] != null){
         if(lookupvar[i][j].equals(vnum)){
              varname = lookupvar[i][1];
         ofirst.varName = varname;
         Ccount=0;
         break mainWhile;
         ofirst = ofirst.next;
         llfirst = llfirst.next;
         catch(NullPointerException s){}
    /*use the vnum in the driver matrix and find out the nodes to which this variable
    *has been sent as input , i mean destination nodes..
    *find the node numbers ..knowing the node numbers parse through data structure
    and set the input values to value and status 1./
    llfirst = list.getFirst();
    while(llfirst != null){
         ifirst = llfirst.ilist.getFirst();
         while(ifirst != null){
              if (ifirst.varNum.equals(vnum)){
              ifirst.varStat = 1;
              ifirst.varVal = dval;
              //     System.out.println("nodenum "+llfirst.nodeNum+" varval     " + ifirst.varVal +"     stat "+ifirst.varStat+" vnum " + ifirst.varNum);
         ifirst=ifirst.next;
         llfirst=llfirst.next;
         catch (Exception e){};
         return status;
    public int isinputAvail(reqPacket inputReq)
         throws RemoteException{
         String srcnum = inputReq.srcNum;
         String varnum = inputReq.varNum;
         int availstatus =0;
         llfirst = list.getFirst();
         //System.out.println("llfirst.nodeNum     "+ llfirst.nodeNum);
         whileloop:while (llfirst != null){
              if((llfirst.nodeNum).equals(srcnum)){
              ifirst = llfirst.ilist.getFirst();
              breakloop: while(ifirst != null){
              //System.out.println("var num " + varnum + "     " + "status outside" + ifirst.varStat);
              if((ifirst.varNum).equals(varnum)){
              if (ifirst.varStat == 1){
                   availstatus = 1;
                   ifirst.varStat = 0;
                   // System.out.println("var num " + varnum + "     " + "status" + availstatus);
                   break whileloop;
         ifirst = ifirst.next;
         llfirst = llfirst.next;
         //System.out.println("var num " + varnum + "     " + "status" + availstatus);
         return availstatus;
    public dataPacket senDatatoNode(reqPacket sendFromRTS)
         throws RemoteException {
         String nnum, vnum, dtype, dval;
         //nnum = "";
         dtype="";
         //opchannel = llfirst.olist;
         //     ipchannel = llfirst.ilist;
         reqPacket sendfromrts = sendFromRTS;
         nnum = sendfromrts.srcNum;
         vnum = sendfromrts.varNum;
         //     dtype = sendFromRTS.dataType;
         dval = "";
         int ctrchk=0;
         try{
         //send data to process node n reduce the counter by 1
         llfirst = list.getFirst();
              mainWhile: while (llfirst != null){
              if((llfirst.nodeNum).equals(nnum)){
              ofirst = llfirst.olist.getFirst();
         whileofirst: while(ofirst != null){
              if((ofirst.varNum).equals(vnum)){
              dval = ofirst.varVal;
              ofirst.counter = ofirst.counter - 1;
              //     System.out.println(ofirst.counter);
              ctrchk=ofirst.counter;
              break whileofirst;
         ofirst = ofirst.next;
    //set the status of respective input channel to 0 as data has been sent
         ifirst = llfirst.ilist.getFirst();
         if(ctrchk == 0){
         whileifirst: while(ifirst != null){
              if((ifirst.varNum).equals(vnum)){
              //ifirst.varVal = dval;
              ifirst.varStat =0;
              break whileifirst;
         llfirst = llfirst.next;
         //System.out.println(llfirst);
         catch(NullPointerException s){}
    //find type
    try{
         DriverMatrix_mthds driver = new DriverMatrix_mthds();
         driver.VarTypeArray();
         driver.Variablelist();
         driver.NodeOrigin();
         driver.nodeInput();
         driver.numOfnodes();
         driver.noOfVariables();
         driver.novarType()     ;
         String[][] lookupvar = driver.varNameType();
         int i, j;
         String varNum = vnum;
         for(i=0; i<=lookupvar.length-1; i++){
              j=0;
              if(lookupvar[i][j] != null){
              if(lookupvar[i][j].equals(vnum)){
              dtype = lookupvar[i][2];
         catch (Exception d){}
         dataPacket retpac = new dataPacket(nnum, vnum, dtype, dval);
         System.out.println("msg sent "+ nnum +"     " + vnum+" "+ dtype+"     "+ dval);
         return retpac;
    public String findnodeName(String nodeNum)
         throws RemoteException{
    String nnum = nodeNum;
    llfirst = list.getFirst();
    while (llfirst != null){
         if((llfirst.nodeNum).equals(nnum)){
         return llfirst.nodeName;
         llfirst = llfirst.next;
         System.out.println("node Number does not match with the list of node numbers generated..try again");
         return null;
    //find the nodenum given the node name
    public String findnodenum(String nodename)
         throws RemoteException{
         String nodenumber ="";
         String nodname = nodename;
         try{DriverMatrix_mthds driver = new DriverMatrix_mthds();
         driver.VarTypeArray();
         driver.Variablelist();
         driver.NodeOrigin();
         driver.nodeInput();
         driver.numOfnodes();
         driver.noOfVariables();
         driver.novarType()     ;
         driver.varNameType();
         String[][] lookupnode = driver.nodeNumName();
         int i, j;
         for(i=0; i<=lookupnode.length-1; i++){
         for(j=0; j<=2; j++){
              if(lookupnode[i][j] != null){
              if(lookupnode[i][j].equals(nodname)){
                   nodenumber = lookupnode[i][2];
         catch (Exception d){}
         return nodenumber;
    public String findvarnum(String variablename)
         throws RemoteException{
         String varnumber = "";
         try{
         DriverMatrix_mthds driver = new DriverMatrix_mthds();
         driver.VarTypeArray();
         driver.Variablelist();
         driver.NodeOrigin();
         driver.nodeInput();
         driver.numOfnodes();
         driver.noOfVariables();
         driver.novarType()     ;
         String[][] lookupvar = driver.varNameType();
         int i, j;
         String varname = variablename;
         for(i=0; i<=lookupvar.length-1; i++){
         for(j=0; j<=2; j++){
              if(lookupvar[i][j] != null){
              if(lookupvar[i][j].equals(varname)){
                   varnumber = lookupvar[i][0];
    catch (Exception d){}
    return varnumber;
    public String findvartype(String varname)
         throws RemoteException{
         String vartype = "";
         try{
         DriverMatrix_mthds driver = new DriverMatrix_mthds();
         driver.VarTypeArray();
         driver.Variablelist();
         driver.NodeOrigin();
         driver.nodeInput();
         driver.numOfnodes();
         driver.noOfVariables();
         driver.novarType();
         String[][] lookupvar = driver.varNameType();
         int i, j;
         String varName = varname;
         for(i=0; i<=lookupvar.length-1; i++){
         for(j=0; j<=2; j++){
              if(lookupvar[i][j] != null){
              if(lookupvar[i][j].equals(varName)){
                   vartype = lookupvar[i][2];
    catch (Exception d){}
    return vartype;
    public String findtypenum(String vartype){
    String varnum = "";int i;
    try{
         DriverMatrix_mthds driver = new DriverMatrix_mthds();
         driver.VarTypeArray();
         driver.Variablelist();
         driver.NodeOrigin();
         driver.nodeInput();
         driver.numOfnodes();
         driver.noOfVariables();
         String varNum[][] =      driver.novarType()     ;
         String varType = vartype;
         for(i=0; i<=9-1; i++){
              if(varNum[i][0] != null){
              if(varNum[i][0].equals(varType)){
                   varnum = varNum[i][1];
    catch (Exception d){}
    return vartype;
    //return input variable list
    public String[] inoutchanlist(String nodenum, String nodenam)
         throws RemoteException{
    try{
         DriverMatrix_mthds drive = new DriverMatrix_mthds();
         String[] varLIST = drive.Variablelist();
         int i=0;int j;
         while(varLIST[i]!=null){
              i=i+1;
         int arrlength = i;
         inoutChan = new String[arrlength];
         i=0; j=0;
         WHILELOOP:
         while(!(varLIST[i].equals("end of file"))){
         while(varLIST[i].equals(nodenum)){
              i=i+1;
              while(varLIST[i].equals(nodenam)){
                   i=i+1;
                   while(!(varLIST[i].equals("end of input variable"))){
                        inoutChan[j] = varLIST[i];
                        i=i+1;
                        j=j+1;
              System.out.println("endofinput");
              inoutChan[j]="endofinchan";
              j=j+1;
              i=i+1;
              while(!(varLIST[i].equals("end of output variable"))){
         inoutChan[j] = varLIST[i];
         i=i+1;
         j=j+1;
         System.out.println("endofoutput");
         inoutChan[j]="endofoutchan";
         break WHILELOOP;
         i=i+1;
         arrlength =j;
         for(j=0; j<=arrlength-1; j++){
         System.out.println(inoutChan[j]);
         catch (Exception e){}
         return inoutChan;
    public String[] inchannel(String[] inoutChan) throws RemoteException{
    int count=0;int i=0, j=0;
    System.out.println("entered");
    while(inoutChan[count]!=null){
         System.out.println(count + " " +inoutChan[count]);
         count=count+1;
         inChan = new String[count];
         while(!(inoutChan[i].equals("endofinchan"))){
         inChan[j] =inoutChan[i];
         j=j+1; i=i+1;
    return inChan;
    public String[] outchannel(String[] inoutChan) throws RemoteException{
    int count=0;int i=0, j=0;
    System.out.println("entered");
    while(inoutChan[count]!=null){
         System.out.println(count + " " +inoutChan[count]);
         count=count+1;
         outChan = new String[count+1];
         while(!(inoutChan[i].equals("endofinchan"))){
              i=i+1;
         i=i+1;
         while(!(inoutChan[i].equals("endofoutchan"))){
              outChan[j] =inoutChan[i];
              j=j+1; i=i+1;
         return outChan;
    public String[] invarChan(String nodename, int guardno)throws RemoteException{
    try{
    DriverMatrix_mthds drive = new DriverMatrix_mthds();
    invarLIST = drive.invarlist();
    int i=0;int j;
    while(invarLIST[i]!=null){
         i=i+1;
         int arrlength = i;
         inVAR = new String[arrlength];
         i=0; j=0;
              WHILELOOP: while(!(invarLIST[i].equals("end of file"))){
                   if (invarLIST[i].equals(nodename)){
         i=i+1;
         while(!(invarLIST[i].equals(nodename+String.valueOf(guardno)))){
         i=i+1;}
         i=i+1;
         while(!(invarLIST[i].equals("endofguard"))){
         System.out.println(invarLIST[i]);inVAR[j]=invarLIST[i]; i=i+1; j=j+1;}
         break WHILELOOP;}
         i=i+1;}
    }catch (Exception d){}
    return inVAR;
    public String[] outvarChan(String nodename, int guardcount)throws RemoteException{
         try{
         DriverMatrix_mthds drive = new DriverMatrix_mthds();
         outvarLIST = drive.outvarlist();
         int i=0;int j;
         while(outvarLIST[i]!=null){
              i=i+1;
         int arrlength = i;
         outVAR = new String[arrlength];
         i=0; j=0;
         WHILELOOP: while(!(outvarLIST[i].equals("end of file"))){
              if (outvarLIST[i].equals(nodename)){
                   i=i+1;
                   while(!(outvarLIST[i].equals(nodename+String.valueOf(guardcount)+"guard"))){
                        i=i+1;}
              i=i+1;
              while(!(outvarLIST[i].equals("end guard"))){
              System.out.println(outvarLIST[i]);outVAR[j]=outvarLIST[i]; i=i+1; j=j+1;}
              break WHILELOOP;}
         i=i+1;}
    }catch (Exception d){}
    return outVAR;
    private static Boolean start;
    private static Boolean tstart;
    public void sendstart(Boolean start) throws RemoteException {
         tstart = start;
    public Boolean getstart() throws RemoteException{
         return tstart;
    private static Boolean done;
    private static Boolean tdone;
    public void senddone(Boolean done) throws RemoteException {
         tdone = done;
    public Boolean getdone() throws RemoteException{
         return tdone;
    private static Boolean vac_busy1;
    private static Boolean tvac_busy1;
    public void sendvac_busy1(Boolean vac_busy1) throws RemoteException {
         tvac_busy1 = vac_busy1;
    public Boolean getvac_busy1() throws RemoteException{
         return tvac_busy1;
    private static int cus1_rit1;
    private static int tcus1_rit1;
    public void sendcus1_rit1(int cus1_rit1) throws RemoteException {
         tcus1_rit1 = cus1_rit1;
    public int getcus1_rit1() throws RemoteException{
         return tcus1_rit1;
    private static int cus1_rit2;
    private static int tcus1_rit2;
    public void sendcus1_rit2(int cus1_rit2) throws RemoteException {
         tcus1_rit2 = cus1_rit2;
    public int getcus1_rit2() throws RemoteException{
         return tcus1_rit2;
    private static int cus1_rit3;
    private static int tcus1_rit3;
    public void sendcus1_rit3(int cus1_rit3) throws RemoteException {
         tcus1_rit3 = cus1_rit3;
    public int getcus1_rit3() throws RemoteException{
         return tcus1_rit3;
    private static int cus1_it1;
    private static int tcus1_it1;
    public void sendcus1_it1(int cus1_it1) throws RemoteException {
         tcus1_it1 = cus1_it1;
    public int getcus1_it1() throws RemoteException{
         return tcus1_it1;
    private static int cus1_it2;
    private static int tcus1_it2;
    public void sendcus1_it2(int cus1_it2) throws RemoteException {
         tcus1_it2 = cus1_it2;
    public int getcus1_it2() throws RemoteException{
         return tcus1_it2;
    private static int cus1_it3;
    private static int tcus1_it3;
    public void sendcus1_it3(int cus1_it3) throws RemoteException {
         tcus1_it3 = cus1_it3;
    public int getcus1_it3() throws RemoteException{
         return tcus1_it3;
    private static int stkit_11;
    private static int tstkit_11;
    public void sendstkit_11(int stkit_11) throws RemoteException {
         tstkit_11 = stkit_11;
    public int getstkit_11() throws RemoteException{
         return tstkit_11;
    private static int stkit_12;
    private static int tstkit_12;
    public void sendstkit_12(int stkit_12) throws RemoteException {
         tstkit_12 = stkit_12;
    public int getstkit_12() throws RemoteException{
         return tstkit_12;
    private static int stkit_13;
    private static int tstkit_13;
    public void sendstkit_13(int stkit_13) throws RemoteException {
         tstkit_13 = stkit_13;
    public int getstkit_13() throws RemoteException{
         return tstkit_13;
    private static int c1_it1;
    private static int tc1_it1;
    public void sendc1_it1(int c1_it1) throws RemoteException {
         tc1_it1 = c1_it1;
    public int getc1_it1() throws RemoteException{
         return tc1_it1;
    private static int c1_it2;
    private static int tc1_it2;
    public void sendc1_it2(int c1_it2) throws RemoteException {
         tc1_it2 = c1_it2;
    public int getc1_it2() throws RemoteException{
         return tc1_it2;
    private static int c1_it3;
    private static int tc1_it3;
    public void sendc1_it3(int c1_it3) throws RemoteException {
         tc1_it3 = c1_it3;
    public int getc1_it3() throws RemoteException{
         return tc1_it3;
    //endoffile

  • Two Application in One EVDRE - check data between two application.

    Dear Sap Expert,
    We want to check data between two applications.
    For example, we have in C_ACCT= 100000000  Amount 5000 in Legal Application, we want to check what amount is in that C_ACCT in ICMatching application.
    Problem is that we can't get data from two application with one EVDRE.
    If we will make it using two EVDRE, problem when we retrieve data, rows doesn't match.
    Our question : is it possible to link to two applilcation using one EVDRE? (Just like dimension? For example for first column it will be Legal, for the next ICMatching.)
    If no, how we can solve our needs?
                                 Legal |ICMatching | Difference
    C_ACCT               5000 | 2000           |  3000
    For example      
    (100000000)

    Thanks for answer.
    Does it mean that for example if i just want to check C_ACCT=100000000 between two application(Legal and ICMatching) i should build TWO EVDRE, and i can't solve this problem by one EVDRE. (Or with two EVGET)
    Our aim that we need to check all BASMEMBERS data between two application, it's huge data, so we want supress all zero data(SUPRESS="Y").
    So if we build first evdre for LEGAL, for example it will have, 500 rows.
    Second evdre for ICmatching, for example, will have 953 rows.
    How we can check data and show difference between them?
    Best solution for us, if in one evdre we can retrieve data from two application, so rows will match and we also can supress data.
    Thanks,
    Kadraliyev Yerlan

  • Cannot print several copies at one time

    I have a problem with all the printers i use, which is being unable to print several copies with one order i.e whenever i put in the printer dialogue box and order more than one copy to print only one copy is printed.
    Does anybody have a solution for that?

    Have you tried resetting the printing system?
    Open System Preferences > Print & Fax. Move you mouse over the printer list and hold down the Control key. Now click the mouse and select Reset printing system.
    Note that this will delete your printer queue/s so you will have to re-add them.
    PaHu

Maybe you are looking for

  • How do I move documents OUT of iCloud Drive and back to my mac?

    Since I "upgraded" to iCloud drive, everything is all messed up. I can't view documents in Pages on my iPad; Apple startp[age won't even play movie trailers because it's telling me I don't have Quicktime (which is now in iCloud also), and I feel like

  • How to setup BB10 contact to link to Playbook Video app?

    I have a BB Passport device and one of my contacts has a Playbook Video link enabled. I am trying to recreate this for another user but nothing works. How do I create a BB10 contact to enable the Playbook Video link to a user with (only) a BB Playboo

  • Perforce Workspace and LabVIEW

    Hi, I am taking over a job where I am using an existing PC which has got LabVIEW configured with Perforce for Source Ctrl. I am using the same local workspace as my predecessor which is simple the c drive. When I create a new VI and add it to perforc

  • Copy sheets and sort

    I'm new to numbers, and have been learning how to use the software - great tool! I have - what should be - a simple request, but I have not found the answer just yet - so I'd like some feedback and direction. I have a sheet set up which I would like

  • Error : You have VMI enabled ASL entries in your Operating Unit.

    Dear All, When I select PO Encumbrance at (N)Purchase : setup : option : financial option I see error massage is "You have VMI enabled ASL entries in your Operating Unit. You cannot use Encumbrance Accounting with VMI" and I want to create PO but You