Execution by sequence

Hi all,
The example Simple on TestStand GUI examples shows me that user can choose from combobox the desired sequence and executed it(one file sequence contains two sequences).
How can I execute the desired sequence without using the combobox ????
Can someone show me on the NI GUI simple example
Tnx

See my most recent post here:
http://forums.ni.com/t5/NI-TestStand/Execute-desired-sequence/m-p/2770626#M44790

Similar Messages

  • What is order of execution in Sequence container

    hi all,
     I want to know the order of execution in sequence container. we have sequence container and loading 20 dimension table but no precedence constraints between the task, each tasks are separate.
     What is the flow of execution, is sequence container allow parallel execution of task ?
    Please guide me.
    Thanks in advance.

    Hello,
    All tasks which exist inside your Sequence container will execute in parallel. 
    If you want to control the order in which they execute then you need to use precedence constraints.
    -Vaibhav Chaudhari

  • Error in execution of sequence

    hi there ,
    a sequence was launched yestreday (from the planning front end) but after the start entry of that sequnce no other entry of that sequnce has been encountered in the log file , later on another user started another sequnce today(from the planning front end) , all the rules were executed fine but the start entry of the last rule was there in the log file but the end entry isnt here , its been 3 and half hours since that last rule has been started. i have checked the essbase sessions and no calculation session is in progress. also i want to ask that if we start a sequence from the planning front end does it appears in the essbase sessions that we view in the essbase console.

    There was this one rule that was not running and also it takes a while to run , so what i did was that i executed that one rule in particular , and it got executed , but the fact there is no entry of the that same rule being ended when the other user executed it is making it diffcult to understand that what could have been the problem.
    you said something about timing out from the planning application . but if a sequnce is getting executed it will show the progress bar in the planning window and it will never time out the user , dont you think , but even if the user was timed out is there a possible way to find out for sure that the user was timed out(some kind of log or something) and how can we change the default idle time for a particular user or maybe all users to avoid such problem.
    thanks

  • Dynamic execution of sequenc

    Hi,
    I have the below function which takes the sequence name as variable and
    returns me the next val.
    Function fngetnextseq(object_id varchar2) return number IS
    l_next_no number(38);
    l_sql varchar2(100);
    BEGIN
         l_sql := 'select '||object_id ||'.nextval into l_next_no from dual';
          execute immediate l_sql;
          return l_next_no;  
    END;END TEST;
    But while executing its throws an error.
    Any idea how this can be solved so that i can take sequence name dynamically at runtime and then execute it.
    Thanks

    execute_immediate_statement ::=
    EXECUTE_IMMEDIATE dynamic_string
        INTO { define_variable [, define_variable ...] | record_name }
      | BULK COLLECT INTO { collection_name [, collection_name ...] | :host_array_name }
       [ USING [ IN | OUT | IN OUT ] bind_argument
       [, [ IN | OUT | IN OUT ] bind_argument] ... ] [ returning_clause ] ;Try like this:
    Function fngetnextseq(object_id varchar2) return number IS
    l_next_no number(38);
    l_sql varchar2(100);
    BEGIN
         l_sql := 'select '||object_id ||'.nextval from dual';
          execute immediate l_sql into l_next_no;
          return l_next_no;  
    END;

  • Scenario Execution in Sequence

    Hi Guys
    i have two scenarios
    1) JDBC1--> XI --> RFC1
    2) JDBC1--> XI --> RFC2
    RFC business logic of both uses both creating document based on Movement Type
    My concern is both RFC1 and RFC2 should not work in same time there should be some time gap for both so locks wont happen while bacth characteristics updation , where in two RFC uses.
    How to make sure that RFC1 executes first and next RFC2 ????
    Here i have configured first scenario tested and all fine , now suggest any idea without using BPM for the above requirement.
    rgds
    srini

    Hi
    Well last question i hope
    CC_JDBC_Adapter1 ---> created
    CC_JDBC_Adapter2 ---> created
    This t
    two adapter has poll daily contionusly , but only requirement JDBC1 and JDBC2 should have 8 mins gap.
    i have selected "Availabilty Time" - Daily
    1) JDBC1 --> At(Time) 00:00:00 ??   For Duration --?? 8 Mins
    1) JDBC2 --> At(Time)  ?? 00:00:00  For Duration --?? 16 Mins
    Am i doing right
    rgds
    srini

  • Is there a way to pass or access the FileGlobal​s of the main sequence from an ActiveX subsequenc​e that runs in parallel?

    I developed an elborate avionics Test Bench using the data types and FileGlobals to define all of my instruments and signals. The instruments have some minor changes between Test Bench's and the signals change between projects. The actual LabVIEW VI's were written so that they would be generic, in nature, and rely on spreadsheets to determine what inputs and expected outputs are to be tested and use the FileGlobals to determine how to process each signal from this extensive data structure. This methodology has worked well so far. Now I have the need to read some of the signals being output by the black box and compute a signal as input. The black box it very particular about the timing related to how fast this input changes in response to the outputs.
    Anyway, I was able to develop another sub-sequence within the main sequence and have it run as a parallel process. The problem that I have is that this extensive FileGlobals data structure is shown in the sub-sequence, but all of the data is zero or blank. What I really need is the FileGlobal data in the sub-sequence to be equal to the FileGlobals data of the main sequence at the time the ActiveX sequence is started OR have some way to access the main sequence FileGlobals from the ActiveX sub-sequence. I was able to use the when doing a Action of "call method" and a moethod of "NewExecution" to start the sub-sequence. The problem is that the data passed was only the first element in the FilGlobals structure and not the entire FileGlobals.
    I have TestStand version 1.0.3 . I know, the answer is usually to upgrade, but I have my own company and am sub-contracting at this company. It took me a month to convince this company that TestStand was the way to go rather than use the old LabVIEW Test Executive that they still have. The point is that it may be difficult to get them to get a later version and at this point I do not have time to wait for a upgrade. So I need to determine an easy way to impliment this with the existing version of TestStand.
    Any pointers on how you might solve this problem would be appreciated. You can email me directly at [email protected] .
    Thank you for your help!

    William,
    As you alluded, TestStand 2.0 has better solutions to this problem than TestStand 1.0.x. These include
    1) Executing the subsequence on a different thread but under the same execution. The file globals are then common to the calling and called sequence. The improved Sequence Call step type gives you this option.
    2) There is a new sequence file property that provides that "All Executions Share the Same File Globals".
    The reason that the file globals are not shared between your 2 sequences is that they are each executed as separate executions. That is, they are each executed using the NewExecution method. With each new execution a run-time copy of the sequence is made, including the file globals.
    I am assuming that you want to execute the subsequence asynchronously (i.e. in parallel) to the MainSequence and therefore must use the NewExecution method to do so. Since you must use TestStand 1.0.3 then the best option is to pass the file globals to the new execution as sequence parameters. It sounds like you tried this but had difficulties. The steps to do this are:
    A) Create parameters in your called sequence that mirror the file globals that you want to pass from your MainSequence.
    B) Create a new data type that is a container. The subproperties of this container must mirror the parameters in your called sequence. It is important that they are in the same order as the parameters.
    C) Create an instance of this container data type as variable.
    D) Pass this variable as the parameter of the NewExecution method.
    I have attached an example of how to do this. I have 2 file globals that I want passed, Number and String. I have another file global that is an instance of the parameter container that I pass with the NewExecution method (could also have made as local variable). Any time I update the values of the container�s subproperty, the changes are available in the executing "subsequence". Therefore, I must update the value of these container subproperties every time I want to have access to new file global values. There is clearly some redundancy here in that my MainSequence must copy the Number and String values to the container subproperties. If fact, it may be better to simply delete the Number and String file globals and simply use the subproperties of the container directly.
    You probably have to play around with the example to synchronize the change of the file globals with the message popups in the subsequence. In TS 2.0 I would have synchronized them with the new synchronization step types.
    Attachments:
    passfileglobals.seq ‏37 KB

  • How to find out that sequence has finished loading?

    Hello,
    i have a custom C#-OPUI to load and execute testplans.
    I do this using these funtions:
    1. ApplicationManager.OpenSequencFile(filename)
    2. ???
    3.Command TestStart = axSequenceFileViewMgr.GetCommand(.......)
    TestStart.Execute(true)
    The question is now: How do i know that the OpenSequenceFile has finished doing everything?
    I need to know that is finished before i run the execute-command.
    Is there a specail final-event that i can check?
    Thanks for help
    Solved!
    Go to Solution.

    Hi jigg,
    Thanks for the info.
    In my sequence file, besides the main sequence, I also enabled "SequenceFileLoad" callback. In "SequenceFileLoad" sequence, I added some instruments initialization tests. The goal is to initialize the instruments only once when the sequence file is loaded. Therefore I need to know when the "SequenceFileLoad" is finished or when the sequence file has finished loading.
    My first idea is to use the event "axApplicationMgr_SequenceFileOpened", but I found that I will catch this event before the "SequenceFileLoad" execution finished.
    And then, I also found that together with the execution of sequence "SequenceFileLoad", there are 2 events in my C# code: "axApplicationMgr_StartExecution" and "axApplicationMgr_EndExecution" triggered. So I was thinking may be I can use "axApplicationMgr_EndExecution" to determine if the sequence file has finished loading. But the problem is every sequence execution will trigger these 2 events. The main sequence will also trigger these 2 events. So I needs to know the name/ID of the current executing sequence.
    So Is there a way to read current executing sequence name?
    Thanks and regards,
    0049

  • How to enforce order of execution of parallel tasks?

    How do I set the order of execution of parallel tasks in a container?
    The execution isn't truly random. It appears to be set to a random constant at package creation.
    Demo
    I set up a dummy package.
    Max concurrent executions = 1
    sequence container with four script tasks that do a thread.sleep
    The tasks always execute in the order 4, 2, 1, 3. Closing/opening the solution makes no difference to the order of parallel execution.
    Is there a way i can change the execution order? Do I need to change the guid/id of the object (tried this but it invalidates the xml) or is there an order somewhere else in the XML?
    I've found a hack/workaround but it's a bit ugly so I'm wondering if there's a way to do it without adding dummy tasks.
    Basically if i create a dummy start task and then drag off "on success" constraints to each of the four threads, the threads will execute in parallel in the order in which i created the constraints
    Why do i want to do this? I have a number of parallel tasks in a sequence container where three will take a long time and the rest won't take as long.
    I'll minimise the time required for the execution of container by using parallel tasks AND controlling the queue order (longest first). It won't matter whether I have 1 logical cpu or as many logical cpus as i have tasks.
    Thanks
    Jakub @ Adelaide, Australia

    I think the problem you are trying to say is 
    a) You have multiple tasks( i assume 10) now out of these 3 execute slowly.
    b) You done have any constraints for task execution, so what you want to achieve is that the 7 task should continue without waiting for the other 3 in your case the 3 are starting up earlier and other 7 are not able to start as a result.
    AS arthur pointed out these are 2 diff things constraints and parallel execution, and there would always be some task which would be started at some point of time.
    But if you know in advance some tasks are going to take time, i would suggest keep 2 diff sequence containers in 1 keep the 7 tasks which runs fast in another one keep the other 3 which tend to run slow
    Abhinav http://bishtabhinav.wordpress.com/

  • LKM CKM IKM executing sequence

    Hi
    How the execution of sequence of commands are decided in interface, when we execute a interface.
    For e.g. (TRG_COUNTRY interface in Sales Administration folder)
    we have LKM that have certain set of command and then IKM with ceratain set of command and CKM.
    First few commands of LKM executes then of IKM and of CKM, at last the last command from LKM is executed, how this is defined.
    Regards

    Hi
    thanks for the execution sequence.
    Regarding the link between Diagram and Flow (LKM,IKM), I think i understood please tell me if I am wrong.
    For e.g. the TRG_COUNTRY (In Sales Administration)
    1) We define a join between SRC_REGION and TRG_COUNTRY as SRC.COUNTRY_ID column be same as TRG.COUNTRY_ID. And only populate the SRC.REGION where its like 'IND%'. Now this is the condition we define.
    2) Now when we load data using LKM, the LKM will consider the above query while filling the data into C$ from SRC. Like we Write Insert in LKM etc.
    AND
    if we define a condition like in 1) for IKM, IKM will always consider the coindition we define while filling the data from I$ to TRG.
    Is this the flow.
    Regards

  • Why do I get -18001 Errors using Customised TestStand User Interface

    Hi all
    I have a problem when attempting to run my application on my host NT PC. I have a customised operator interface to TestStand written using Labview 5.1.1 and built using the LabVIEW application builder. I am running the TestStand Development (Run-Time) System on my host PC.
    The problem is that as soon as I go to run my sequence of vis (mass compiled using the same version of LabVIEW and assembled for run-time distribution) I receive the error '-18001 VI Not Executable.'
    I think this is probably to do with how I've included the ActiveX server in my LabVIEW User Interface application, but knowing very little about ActiveX I'm not sure exactly what the problem is.
    If anyone
    has any ideas, I would be extremely grateful for any assistance you could offer. My TS version is 1.0.1
    Thanks
    Dave

    David,
    I would like to add to Richard's input. The typical reasons a VI cannot be executed that cause this message are:
    1) There is an error in the VI such that the run arrow of the VI is broken when the VI is open in the LV development environment. This problem is usually easy to debug because you should get the error (shown below) when running your sequence in the sequence editor using the default "LabVIEW" ActiveX server provided by the LV development environment (not the LV ActiveX server provided by your operator interface which is by default named "TestStandLVGUIRTS" ).
    An error occurred in the 'MyVIStep' step of the 'MainSequence' sequence in 'MySequence.seq'.
    LabVIEW : VI is not executable.
    An error occurred accessing the LabVIEW ActiveX automation server. Error Code: -18001
    2) The same error will occur when
    a. you are using any LV ActiveX server other than the "LabVIEW" server provided by the LV development environment, AND
    b. at least one of the called VI was not assembled for distribution properly. This means that not all test VIs and their *entire* hierarchy were distributed.
    I am not sure exactly what you have done so have compiled some information that I think will help. Below I have included the document, Overview of Distributing TestStand when your Sequences use the LV Standard Prototype Adapter, which will appear in the NIDZ shortly. Another useful document is the NIDZ document Distributing LabVIEW Test VIs, which you can obtain from our website. Read these documents before preceding with the steps immediately below, which give you an example process for distributing. This may help provide a better understanding and guidance in the distribution process. We are working to simplify this process in future versions of TestStand.
    For the following example distribution I recommend that you are use default shipping code so that the problem is not complicated with potential errors added through customizations you have made.
    Building The Operator Interface
    The following are steps if you are using a LabVIEW operator interface.
    1) Copy the contents of \OperatorInterfaces\NI\LV to \OperatorInterfaces\User\LV.
    2) Open a new VI in LabVIEW. Make sure all other VIs are closed.
    3) In LabVIEW Select Tools>>Build Application or Shared Library
    4) In the builder click the Load button and load \OperatorInterfaces\User\LV\testexec.bld. This build script is configured to create testexec.exe that contains the LV ActiveX server with the name of TestStandLVGUIRTS (see the Application tab of the builder).
    5) In the builder click Build.
    6) Once the application testexec.exe is built, run it once so that the server TestStandLVGUIRTS is automatically registered. You do not need to run a sequence. Close texec.exe.
    Creating a LabVIEW Run-time Server
    If you are using the LabVIEW operator interface then skip this section. The following steps are meant for those who use an operator interface written in a ADE other than LabVIEW. They provide you with a LabVIEW run-time server that is used by TS to run your VIs.
    1) Copy the contents of \Components\NI\RuntimeServers to \Components\User\RuntimeServers.
    2) Open a new VI in LabVIEW. Make sure all other VIs are closed.
    3) In LabVIEW Select Tools>>Build Application or Shared Library
    4) In the builder click the Load button and load \Components\User\RuntimeServers\LabVIEW\TestStandLVRTS.bld. This build script is configured to create TestStandLVRTS.exe that contains the LV ActiveX server with the name of TestStandLVRTS (see the Application tab of the builder).
    5) In the builder click Build.
    6) Once the application TestStandLVRTS.exe is built, run it once so that the server TestStandLVRTS is automatically registered on your development machine. Close TestStandLVRTS.exe.
    Assembling the Test VIs for Run-Time Distribution
    This distribution process uses one of the shipping TS examples that calls LV VIs.
    1) From LV mass compile all VIs in the directory \Examples\AccessingArrays\UsingLabVIEW\. Please make sure that there were no error messages in the Status tab of the Mass Compile dialog box.
    2) In the sequence editor open \Examples\AccessingArrays\UsingLabVIEW\AccessingArrays.seq
    3) Confirm that the sequence runs without problem.
    4) In the sequence editor select Tools>>Assemble Test VIs for Run-time Distribution.
    5) If you are using TestStand 2.0 select \Examples\AccessingArrays\UsingLabVIEW\AccessingArrays.seq as the file from which the VIs should be assembled.
    6) Set the target directory to be something distinct like C:\temp\AssblVIs.
    7) If you are using TestStand 2.0 skip adding Dynamic VIs
    8) Save with or without diagrams. Its your choice.
    Change Search Directories
    Once the VIs are assembled successfully, you must add the new target directory to the TS search directories.
    1) In the sequence editor select Configure>>Search Directories.
    2) Add your target search directory (e.g. C:\temp\AssblVIs) to the search directories.
    3) Close the Edit Search Directories dialog box.
    4) Confirm that your sequence steps now reference the assembled VIs. Right click on a step in the sequence and select Specify Module.
    5) The dialog should show that the code module is found in the target directory (e.g. C:\temp\AssblVIs) that you just added to the search directories.
    6) Run the sequence. This is the initial test to see if the VIs are assembled properly.
    Switch the LV Adapter to use the TestStandLVRTS server or TestStandLVGUIRTS
    1) In the sequence editor select Configure>>Adpaters.
    2) In the Configurable Adapters control select the LabVIEW Standard Prototype Adapter and then click the Configure button.
    3a) If you are not using the LV operator interface then switch the ActiveX server to TestStandLVRTS.
    3b)If you are using the LV operator interface then switch the ActiveX server to TestStandLVGUIRTS.
    4) Close the adapter configuration dialog boxes. You will get a couple of questions boxes. Just click OK each time.
    5) Now run your sequence. If successful you are no longer using the LV development environment to run your VIs. This shows that the VIs were assembled correctly, the LV ActiveX server is working properly and that the search directories are configured properly.
    You can now try and run the sequence using your operator interface on you development computer. If this test works it means that you have also confirmed that your operator interface is working correctly with all the other components. Now it is just a matter of moving all the component correctly to the target machine.
    Distributing Components
    -To distribute your operator interface use the distribution tool of the application development environment (ADE) in which you built your operator interface.
    -To distribute the TS engine using the Run Engine Installation Wizard tool. This tool is typically not used for distributing your sequences and VIs, which you will probably distribute more frequently than the TS engine. It does distribute and register your LV run-time server (if you are using one) as long as you have stored it in \Components\User\RuntimeServers. It also distributes other TS components that you have stored under the directory \Components\User\.
    -You can use whatever distribution system you like to distribute your VIs and sequence files (e.g. ZIP and network transfer are popular) . Ensure that you distribute the assembled VIs and not the development VIs. Also ensure that the location of the VIs on the target machine is one of the TS search directories.
    Hope this helps.
    Regards,
    Kitt
    =========================================
    Title:
    Overview of Distributing TestStand when your Sequences use the LV Standard Prototype Adapter
    The general outline of the components to be distributed and the actions to take are followed by a more detailed description.
    Components that need to be distributed:
    TS engine
    Operator interface
    LabVIEW executable that will act as a LabVIEW ActiveX automation server (If the operator interfaces is written in LabVIEW, it can function as the LabVIEW ActiveX automation server.).
    LabVIEW run-time engine
    LabVIEW test VIs
    Test sequence files
    Actions before distributing:
    It is recommended that you test the distribution components on the development machine before you distribute them to your target machine. In this manner you can more easily debug errors that you may encounter
    Create the executable that will serve as your LabVIEW ActiveX server on the target machine (components 2 or 3 above).
    Assemble the test VIs for distribution.
    Update the TestStand search directories so that the sequences reference the assembled VIs.
    Configure the LabVIEW Standard Prototype Adapter to use the LabVIEW ActiveX server that you will install on the target machine.
    Test the distribution components on the development machine.
    Enter section headings, separating each section with a line break:
    TS Engine Component
    Operator Interface Component
    LabVIEW ActiveX Server
    Configuring the LabVIEW Standard Prototype Adapter
    LabVIEW Run-time Engine Component
    Assembling your Test VIs for Distribution
    Note
    TS Engine Component
    With any TestStand distribution you must install the TestStand runtime engine on the target machine. The Run Engine Installation Wizard tool, found under Tools menu of the Sequence Editor, facilitates this process. The wizard tool will create two files, SetupTSEngine.exe and TSEngine.cab. Move the two files to your target machine and run SetupTSEngine.exe to install the TestStand engine.
    These installation files include the current configuration settings that exist in the Sequence Editor at the time the tool is invoked. It also includes all process models, TestStand types and step type modules. If you have customized components of TestStand and saved them under the directory TestStand\Components\User, then the components will also be included with the engine installation.
    You must purchase at least a base deployment or debug deployment license for each machine on which you install the TestStand engine.
    Operator Interface Component
    You will also need to install an operator interface executable on the target machine. This program acts as a client to the TS runtime engine, controlling the execution of sequences and displaying their progress. TestStand ships with several versions of TestStand operator interfaces, which are written in different application development environments (ADE). For distributing the operator interface executable, refer to the application development environment in which it was created.
    LabVIEW ActiveX Server
    You must have a LabVIEW ActiveX server on the target machine. TestStand uses the LabVIEW ActiveX server to run VIs using either the LabVIEW development environment or the LabVIEW runtime engine. The LabVIEW ActiveX server is provided by either LabVIEW development environment or by any LabVIEW executable that has been built with �Enable ActiveX Server� selected. This setting can be accessed in the LabVIEW Application Builder during the build process. When this preference is enabled, you must enter a server name. You will use the server name to configure the LabVIEW Standard Prototype adapter in TestStand.
    If your operator interface is written in LabVIEW, then it can act as the LabVIEW ActiveX server on your target machine. TestStand ships with two operator interfaces written in LabVIEW. The standard LabVIEW operator interface is located in TestStand\OperatorInterfaces\NI\LV, while a simplified version is located in TestStand\Examples\OperatorInterfaces\Simple LV. LabVIEW buildscripts are provided for these applications to facilitate building an operator interface in the latest version of LabVIEW. The settings of these buildscripts are such that the applications are LabVIEW ActiveX servers with the server names of TestStandLVGUIRTS for the standard operator interface, and TestStandSimpleLVGUIRTS for the simple operator interface. The applications register the servers the first time they are executed. If you want to manually register or unregister one of the servers, you can invoke the executable with the /RegServer and /UnregServer command-line arguments respectively.
    If your operator interface is programmed in a language other than LabVIEW, then you will need a separate LabVIEW executable to provide the LabVIEW ActiveX server on your target machine. For this purpose, TestStand ships with a LabVIEW run-time server application located in TestStand\Components\NI\RuntimeServers\LabVIEW. A LabVIEW buildscript is provided for this application to facilitate building a run-time server in the latest version of LabVIEW. The settings of this buildscript are such that the application is a LabVIEW ActiveX server with the server name of TestStandLVRTS.
    Note: When an ActiveX executable server is accessed, the executable is launched automatically if it is not already executing.
    Configuring the LabVIEW Standard Prototype Adapter
    When TestStand runs a VI using the LabVIEW Standard Prototype adapter, it does so using a LabVIEW ActiveX server. By default the adapter is configured to use the �LabVIEW� server, which is provided by the LabVIEW development environment. If you do not have the LabVIEW development environment on your target machine then you must configure the LabVIEW Standard Prototype adapter within TestStand to use a different server (e.g. TestStandLVGUIRTS, TestStandLVRTS, or TestStandSimpleLVGUIRTS).
    To configure your LabVIEW Standard Prototype adapter, select Configure>>Adapters from the menu. In the Adapter Configuration dialog box that appears, select the LabVIEW Standard Prototype Adapter in the Configurable Adapters section. Click the Configure button. You can select or type a server name in the Select or Type Which LabVIEW ActiveX Server to User control. If your server name is not in the list you will need to type it.
    As explained in the LabVIEW ActiveX Server section above, TestStand ships with LabVIEW buildscripts to build a LabVIEW operator interface and a LabVIEW run-time server application. These applications are LabVIEW ActiveX servers with server names TestStandLVGUIRTS and TestStandLVGRTS, respectively. You can configure you LabVIEW Standard Prototype adapter to use one of these servers.
    LabVIEW Run-time Engine Component
    If any of your sequence steps use the LabVIEW adapter or if your operator interface is written in LabVIEW, then you must install the LabVIEW runtime engine on the target machine. It is important that your LabVIEW run-time engine is the same version as the VIs that TestStand executes.
    You can find installation files for the LABVIEW 5.1 run-time engine in the LabVIEW installation directory, Labview\APPLIBS\installs\RunTime. In addition, you can choose to automatically distribute and install the LabVIEW run-time engine with the distribution of a LabVIEW executable. Refer to LabVIEW documentation.
    Assembling your Test VIs for Distribution
    After distributing TestStand, you must ensure that your sequences are able to locate the VIs they call, and the VIs must be able to locate their required resources.
    One common mistake is to simply copy the original VIs from the development machine to the target machine. Once you have configured your LabVIEW Standard Prototype adapter to use a LabVIEW ActiveX server other than LabVIEW, your sequence will not be able to execute your original test VIs that your sequences call.
    TestStand provides the Assemble Test VIs for Distribution tool, which gathers test VIs and their required resources, and places them in a common location for distribution. You can then modify your TestStand search directories so that your sequences reference the assembled VIs. These topics are covered in the NIDZ document Distributing LabVIEW Test VIs.
    Links: See Distributing LabVIEW Test VIs below
    Note
    Remember to test your distribution components on your TestStand development system before distributing TestStand. If the execution does not work on the development system it is not going to work on your target machine. On your development machine you have more ability to debug problems you may encounter.
    Note: One common problem of testing distribution components on your TestStand development system is that your sequences reference the original Test VIs instead of the assembled test VIs. Refer to the NIDZ document Distributing LabVIEW Test VIs for assistance.
    Once the components work on your development machine, you are ready to install them on your target machine. The order in which you install these components on the target machine is irrelevant.
    ==============================================

  • Run Time Errors (Don't show this dialog again...)

    We often create some long TestStand (TS 4.0) sequences and run them overnight or weekend.  Occasionally, for one reason or another, we may see the "Run Time Error" messagebox pop up, stopping the test sequence.
    If you then select the checkbox in the Run Time Error window "Don't show this dialog again for this execution", the sequence will continue.
    Is there a way to set up TestStand to ALWAYS ignore the Run Time Errors and just generate a failure error instead?
         Setup for TestStand as a confuguration?
    or
         Setup as a command in our Custom Steps?
    Mikef

    Hi Mikef,
    One solution would be to use the SequenceFilePostStepRuntimeError callback sequence. Have a look at the example ErrorHandlerExample.seq in the TestStand\Examples\Callbacks\PostStepRuntimeErrorCallback folder.
    Obviously you wont what a dialog to appear, but using the callback, you can reset the Step.Result.Error, maybe set the status and record that an error did occur in the Steps ReportText.
    Hope this helps.
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • OC4J Log Error Interpretation

    Hi, I am trying to debug an authentication issue using a system based on the information in this article: http://www.oracle.com/technology/products/jdev/howtos/1013/oc4jjaas/oc4j_jaas_login_module.htm
    IE database/datasource based authentication.
    I am getting the following error in the applications OC4J log every time a login attempt is made, no error is seen from the application, authentication simply fails.
    When I had the recommended code for fine logging in the j2ee-loggin.xml file (<logger name="oracle.j2ee.security.oc4j" level="FINE" useParentHandlers="false">
    <handler name="oc4j-handler"/>
    <handler name="console-handler"/>
    </logger>) there was no information at all recorded in the OC4J log, not until I removed the extra logger code from that file did entries such as the following begin appearing in the log file. What could be going wrong here? Why is the login process generating a null pointer error and why would the log file not be written too when the fine logging code was added to the config file? Any idea's? All I can really gain from this error message is that the DBTableOraDataSourceLoginModule is at some stage atleast being referenced or called.
    Log Message: September 3, 2007 10:59:51 AM EST
    Component Name OC4J Component ID j2ee
    Host Network Address 172.etc Message Level 1
    Module ID security User ID SYSTEM
    Execution Context ID 172.etc Execution Context Sequence 0
    Host Name usatl01 Thread ID 12
    Message Type Warning
    Message Text
    java.lang.NullPointerException
    at javax.naming.InitialContext.getURLScheme(InitialContext.java:228)
    at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:277)
    at javax.naming.InitialContext.lookup(InitialContext.java:351)
    at oracle.security.jazn.login.module.db.DBTableOraDataSourceLoginModule.performDbAuthentication(DBTableOraDataSourceLoginModule.java:484)
    at oracle.security.jazn.login.module.db.DBTableOraDataSourceLoginModule.login(DBTableOraDataSourceLoginModule.java:335)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
    at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
    at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
    at oracle.security.jazn.oc4j.OC4JUtil.doJAASLogin(OC4JUtil.java:241)
    at oracle.security.jazn.oc4j.GenericUser$1.run(JAZNUserManager.java:818)
    at oracle.security.jazn.oc4j.OC4JUtil.doWithJAZNClsLdr(OC4JUtil.java:173)
    at oracle.security.jazn.oc4j.GenericUser.authenticate(JAZNUserManager.java:814)
    at oracle.security.jazn.oc4j.FilterUser.authenticate(JAZNUserManager.java:1143)
    at com.evermind.server.http.EvermindHttpServletRequest.getUserPrincipalInternal(EvermindHttpServletRequest.java:3601)
    at com.evermind.server.http.AJPHttpServletRequest.getUserPrincipalInternal(AJPHttpServletRequest.java:261)
    at com.evermind.server.http.HttpApplication.checkAuthenticationAndAuthorize(HttpApplication.java:6332)
    at com.evermind.server.http.HttpApplication.getRequestDispatcher(HttpApplication.java:3009)
    at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:736)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:595)
    Supplemental Text
    javax.security.auth.login.LoginException: java.lang.NullPointerException
    at javax.naming.InitialContext.getURLScheme(InitialContext.java:228)
    at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:277)
    at javax.naming.InitialContext.lookup(InitialContext.java:351)
    at oracle.security.jazn.login.module.db.DBTableOraDataSourceLoginModule.performDbAuthentication(DBTableOraDataSourceLoginModule.java:484)
    at oracle.security.jazn.login.module.db.DBTableOraDataSourceLoginModule.login(DBTableOraDataSourceLoginModule.java:335)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
    at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
    at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
    at oracle.security.jazn.oc4j.OC4JUtil.doJAASLogin(OC4JUtil.java:241)
    at oracle.security.jazn.oc4j.GenericUser$1.run(JAZNUserManager.java:818)
    at oracle.security.jazn.oc4j.OC4JUtil.doWithJAZNClsLdr(OC4JUtil.java:173)
    at oracle.security.jazn.oc4j.GenericUser.authenticate(JAZNUserManager.java:814)
    at oracle.security.jazn.oc4j.FilterUser.authenticate(JAZNUserManager.java:1143)
    at com.evermind.server.http.EvermindHttpServletRequest.getUserPrincipalInternal(EvermindHttpServletRequest.java:3601)
    at com.evermind.server.http.AJPHttpServletRequest.getUserPrincipalInternal(AJPHttpServletRequest.java:261)
    at com.evermind.server.http.HttpApplication.checkAuthenticationAndAuthorize(HttpApplication.java:6332)
    at com.evermind.server.http.HttpApplication.getRequestDispatcher(HttpApplication.java:3009)
    at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:736)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:595)
    at javax.security.auth.login.LoginContext.invoke(LoginContext.java:872)
    at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
    at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
    at oracle.security.jazn.oc4j.OC4JUtil.doJAASLogin(OC4JUtil.java:241)
    at oracle.security.jazn.oc4j.GenericUser$1.run(JAZNUserManager.java:818)
    at oracle.security.jazn.oc4j.OC4JUtil.doWithJAZNClsLdr(OC4JUtil.java:173)
    at oracle.security.jazn.oc4j.GenericUser.authenticate(JAZNUserManager.java:814)
    at oracle.security.jazn.oc4j.FilterUser.authenticate(JAZNUserManager.java:1143)
    at com.evermind.server.http.EvermindHttpServletRequest.getUserPrincipalInternal(EvermindHttpServletRequest.java:3601)
    at com.evermind.server.http.AJPHttpServletRequest.getUserPrincipalInternal(AJPHttpServletRequest.java:261)
    at com.evermind.server.http.HttpApplication.checkAuthenticationAndAuthorize(HttpApplication.java:6332)
    at com.evermind.server.http.HttpApplication.getRequestDispatcher(HttpApplication.java:3009)
    at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:736)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:595)

    Well, still struggling with this one.. although i've managed to get fine oc4j security logging enabled through the console, the error stream now follows this sequence of events at each login attempt :
    [DBTableOraDataSourceLoginModule]login called on DBTableLoginModule
    [DBTableOraDataSourceLoginModule]Calling callbackhandler ...
    [DBTableOraDataSourceLoginModule]Username returned by callback = TATKINS
    [DBTableOraDataSourceLoginModule]Username changed to case as defined by null to TATKINS
    [DBTableOraDataSourceLoginModule]Abort called on LoginModule
    java.lang.NullPointerException
    at javax.naming.InitialContext.getURLScheme(InitialContext.java:228)
    at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:277)
    at javax.naming.InitialContext.lookup(InitialContext.java:351)
    at oracle.security.jazn.login.module.db.DBTableOraDataSourceLoginModule.performDbAuthentication(DBTableOraDataSourceLoginModule.java:484)
    at oracle.security.jazn.login.module.db.DBTableOraDataSourceLoginModule.login(DBTableOraDataSourceLoginModule.java:335)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         etc etc...
    JAAS-OC4J: Authentication failure for user: TATKINS
    JAAS-OC4J: Membership check for group: USER failed for user: anonymous
    What i cant work out is what is causing the login module to abort and raise a null pointer exception. Could this be due to a configuration mistake in the console manager or one of the xml files prior to deployment? I just have no idea how to approach fixing this issue.
    I really would appreciate some assistance, 5+ days trying to get this working. I had this working on jdeveloper embedded oc4j, and all the tute's on standalone deployment pass off the configuration of standalone as simple compared to embedded, yet don't go into enough detail to get it working, atleast from my perspective.

  • Global MRP Accross Time-zones

    We are implementing a new Asia plant into our global ECC6.0 deployment.  Our company uses APO-DP but not SNP.  We release PIRs from DP to ECC and run MRP.  We use cross-plant planning so MRP must be sequenced where predecessor plant results drive other plants.  The new Asia plant must use data from MRP runs in the Americas and Europe.  Currently the plant MRP runs are sequential variants in a job that runs daily at 5:30 PM (US Eastern) which is 8:30 or 10:30 AM (Daylight savings) in our Asia plant.  The users do not want MRP runs during the workday.
    Is there a best practice for global MRP execution and sequencing (i.e.. running only on weekends or other)?
    Thank you,
    KW

    Hello KW
    The best practice is to define a sequece of plants to be planned using the scope of planning (customizing transaction OM0E). Instead of using the plant as an input parameter on your MRP variant, you may use the scope of planning and all the plants will be planned on the desired sequence.
    It is also a best practice to run MRP for a plant when there is no operational data being changed, that means, during the night or weekends. Generally, MRP is executed daily and a NEUPL execution is scheduled for the weekend, to ensure that all the materials will be planned at least once a week. However, the frequence of the MRP execution depends purely on your business needs.
    BR
    Caetano

  • ADF FILTER

    6/12/14 09:04:13 java.lang.NullPointerException
    06/12/14 09:04:13      at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
    06/12/14 09:04:13      at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
    06/12/14 09:04:13      at oracle.adfinternal.view.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:157)
    06/12/14 09:04:13      at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
    06/12/14 09:04:13      at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
    06/12/14 09:04:13      at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
    06/12/14 09:04:13      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
    06/12/14 09:04:13      at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:719)
    06/12/14 09:04:13      at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
    06/12/14 09:04:13      at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
    06/12/14 09:04:13      at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
    06/12/14 09:04:13      at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:218)
    06/12/14 09:04:13      at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:119)
    06/12/14 09:04:13      at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
    06/12/14 09:04:13      at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    06/12/14 09:04:13      at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    06/12/14 09:04:13      at java.lang.Thread.run
    Message was edited by:
    BrunoTonet

    Hello,
    I'm also getting the same error when I use my application for the first time.
    The application server log shows:
    Component Name adfinternal
    Component ID adfinternal
    Host Network Address 10.40.113.96
    Message Level 1
    Module ID view.faces.webapp.AdfFacesFilterImpl
    User ID SYSTEM
    Execution Context ID 1173906922:10.40.113.96:692:3084:800
    Execution Context Sequence 1
    Host Name z0001-app0821-s
    Thread ID 48
    Message Type Warning
    The application is depevloped in jdev 10.1.3 using adf faces.
    it is deployed to OAS 10.1.3
    My web.xml
    <filter>
    <filter-name>adfBindings</filter-name>
    <filter-class>oracle.adf.model.servlet.ADFBindingFilter</filter-class>
    </filter>
    <filter>
    <filter-name>adfFaces</filter-name>
    <filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>adfFaces</filter-name>
    <url-pattern>*.jsp</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>adfFaces</filter-name>
    <url-pattern>*.jspx</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>adfBindings</filter-name>
    <url-pattern>*.jsp</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>adfBindings</filter-name>
    <url-pattern>*.jspx</url-pattern>
    </filter-mapping>
    <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
    <servlet-name>resources</servlet-name>
    <servlet-class>oracle.adf.view.faces.webapp.ResourceServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>resources</servlet-name>
    <url-pattern>/adf/*</url-pattern>
    </servlet-mapping>
    Thank you
    Kate

  • Internal Server Error (circular reference detected while serializing: ....

    Hello Folks -
    I am trying to implement both ManyToMany and OneToMany relationships in J2EE EJB3.0.
    My application client has no problems, but when I expose my session bean methods as WebServices, I constantly run into this circular reference error.
    My example tables are simple:
    CREATE TABLE CLUB
    ID NUMBER NOT NULL,
    NAME VARCHAR2(100 BYTE) NOT NULL,
    CITY VARCHAR2(100 BYTE) NOT NULL,
    COUNTRY VARCHAR2(100 BYTE) NOT NULL
    TABLESPACE USERS
    PCTUSED 0
    PCTFREE 10
    INITRANS 1
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    CREATE UNIQUE INDEX CLUB_PK ON CLUB
    (ID)
    TABLESPACE USERS
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    CREATE UNIQUE INDEX CLUB_UK1 ON CLUB
    (NAME, COUNTRY)
    TABLESPACE USERS
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    ALTER TABLE CLUB ADD (
    CONSTRAINT CLUB_PK
    PRIMARY KEY
    (ID)
    USING INDEX
    TABLESPACE USERS
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    ALTER TABLE CLUB ADD (
    CONSTRAINT CLUB_UK1
    UNIQUE (NAME, COUNTRY)
    USING INDEX
    TABLESPACE USERS
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    CREATE TABLE CONTRACTPERIOD
    ID NUMBER NOT NULL,
    PYR_ID NUMBER NOT NULL,
    CUB_ID NUMBER NOT NULL,
    START_DATE DATE NOT NULL,
    END_DATE DATE
    TABLESPACE USERS
    PCTUSED 0
    PCTFREE 10
    INITRANS 1
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    CREATE UNIQUE INDEX CONTRACTPERIOD_PK ON CONTRACTPERIOD
    (ID)
    TABLESPACE USERS
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    ALTER TABLE CONTRACTPERIOD ADD (
    CONSTRAINT CONTRACTPERIOD_PK
    PRIMARY KEY
    (ID)
    USING INDEX
    TABLESPACE USERS
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    ALTER TABLE CONTRACTPERIOD ADD (
    CONSTRAINT CONTRACTPERIOD_FK
    FOREIGN KEY (PYR_ID)
    REFERENCES PLAYER (ID)
    ON DELETE CASCADE);
    ALTER TABLE CONTRACTPERIOD ADD (
    CONSTRAINT CONTRACTPERIOD_FK2
    FOREIGN KEY (CUB_ID)
    REFERENCES CLUB (ID)
    ON DELETE CASCADE);
    CREATE TABLE PLAYER
    ID NUMBER NOT NULL,
    FIRSTNAME VARCHAR2(30 BYTE) NOT NULL,
    LASTNAME VARCHAR2(30 BYTE) NOT NULL,
    NATIONALITY VARCHAR2(30 BYTE) NOT NULL,
    BIRTHDATE DATE NOT NULL
    TABLESPACE USERS
    PCTUSED 0
    PCTFREE 10
    INITRANS 1
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    CREATE UNIQUE INDEX PLAYERS_PK ON PLAYER
    (ID)
    TABLESPACE USERS
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    ALTER TABLE PLAYER ADD (
    CONSTRAINT PLAYERS_PK
    PRIMARY KEY
    (ID)
    USING INDEX
    TABLESPACE USERS
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    Also the Stateless session bean is simple:
    package demo;
    import java.util.Collection;
    import java.util.List;
    import javax.ejb.Stateless;
    import javax.jws.WebService;
    import javax.persistence.EntityManager;
    import javax.persistence.EntityManagerFactory;
    import javax.persistence.EntityTransaction;
    import javax.persistence.Persistence;
    import javax.persistence.Query;
    @Stateless
    @WebService
    public class JavaServiceFacade {
    private EntityManagerFactory emf = Persistence.createEntityManagerFactory("demo-1");
    public JavaServiceFacade() {
    public static void main(String [] args) {
    final JavaServiceFacade javaServiceFacade = new JavaServiceFacade();
    // TODO: Call methods on javaServiceFacade here...
    Collection<Player> playerCollection = javaServiceFacade.queryPlayerFindAll();
    for (Player player : playerCollection){
    System.out.println(player.getFirstname()+" "+player.getLastname()+"\n");
    Collection<Club> clubCollection = (Collection<Club>)javaServiceFacade.queryClubFindAll();
    for (Club club : clubCollection){
    System.out.println(club.getName()+"\n");
    List<Contractperiod> contractperiodList= player.getContractperiodList();
    for (Contractperiod contractperiod : contractperiodList){
    System.out.println("contracts: "+ contractperiod.getClub().getName() + ": from: "
    contractperiod.getStartDate()" to: " contractperiod.getEndDate() "\n");
    private EntityManager getEntityManager() {
    return emf.createEntityManager();
    public Object mergeEntity(Object entity) {
    final EntityManager em = getEntityManager();
    try {
    final EntityTransaction et = em.getTransaction();
    try {
    et.begin();
    em.merge(entity);
    et.commit();
    } finally {
    if (et != null && et.isActive()) {
    entity = null;
    et.rollback();
    } finally {
    if (em != null && em.isOpen()) {
    em.close();
    return entity;
    public Object persistEntity(Object entity) {
    final EntityManager em = getEntityManager();
    try {
    final EntityTransaction et = em.getTransaction();
    try {
    et.begin();
    em.persist(entity);
    et.commit();
    } finally {
    if (et != null && et.isActive()) {
    entity = null;
    et.rollback();
    } finally {
    if (em != null && em.isOpen()) {
    em.close();
    return entity;
    /** <code>select o from Club o</code> */
    public List<Club> queryClubFindAll() {
    Query query = getEntityManager().createNamedQuery("Club.findAll");
    return (List<Club>) query.getResultList();
    public void removeClub(Club club) {
    final EntityManager em = getEntityManager();
    try {
    final EntityTransaction et = em.getTransaction();
    try {
    et.begin();
    club = em.find(Club.class, club.getId());
    et.commit();
    } finally {
    if (et != null && et.isActive()) {
    et.rollback();
    } finally {
    if (em != null && em.isOpen()) {
    em.close();
    /** <code>select o from Contractperiod o</code> */
    public List<Contractperiod> queryContractperiodFindAll() {
    Query query = getEntityManager().createNamedQuery("Contractperiod.findAll");
    return (List<Contractperiod>) query.getResultList();
    public void removeContractperiod(Contractperiod contractperiod) {
    final EntityManager em = getEntityManager();
    try {
    final EntityTransaction et = em.getTransaction();
    try {
    et.begin();
    contractperiod = em.find(Contractperiod.class, contractperiod.getId());
    et.commit();
    } finally {
    if (et != null && et.isActive()) {
    et.rollback();
    } finally {
    if (em != null && em.isOpen()) {
    em.close();
    /** <code>select o from Player o</code> */
    public List<Player> queryPlayerFindAll() {
    Query query = getEntityManager().createNamedQuery("Player.findAll");
    return (List<Player>) query.getResultList();
    public void removePlayer(Player player) {
    final EntityManager em = getEntityManager();
    try {
    final EntityTransaction et = em.getTransaction();
    try {
    et.begin();
    player = em.find(Player.class, player.getId());
    et.commit();
    } finally {
    if (et != null && et.isActive()) {
    et.rollback();
    } finally {
    if (em != null && em.isOpen()) {
    em.close();
    public void removeClub(Club player) {
    final EntityManager em = getEntityManager();
    try {
    final EntityTransaction et = em.getTransaction();
    try {
    et.begin();
    player = em.find(Player.class, player.getId());
    et.commit();
    } finally {
    if (et != null && et.isActive()) {
    et.rollback();
    } finally {
    if (em != null && em.isOpen()) {
    em.close();
    (A few commented lines, as I tried both OneToMany and ManyToMany...)
    my Webservice result, after deploying to OC4J Standalone, is always the same:
    Entity Beans:
    package demo;
    import java.io.Serializable;
    import java.util.Collection;
    import java.util.List;
    import javax.persistence.CascadeType;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.ManyToMany;
    import javax.persistence.NamedQuery;
    import javax.persistence.OneToMany;
    @Entity
    @NamedQuery(name = "Club.findAll", query = "select o from Club o")
    public class Club implements Serializable {
    @Column(nullable = false)
    private String city;
    @Column(nullable = false)
    private String country;
    @Id
    @Column(nullable = false)
    private Long id;
    @Column(nullable = false)
    private String name;
    @ManyToMany(mappedBy = "clubCollection",cascade={CascadeType.PERSIST})
    private Collection<Player> playerCollection;
    public Club() {
    public String getCity() {
    return city;
    public void setCity(String city) {
    this.city = city;
    public String getCountry() {
    return country;
    public void setCountry(String country) {
    this.country = country;
    public Long getId() {
    return id;
    public void setId(Long id) {
    this.id = id;
    public String getName() {
    return name;
    public void setName(String name) {
    this.name = name;
    public Collection<Player> getPlayerCollection() {
    return playerCollection;
    public void setPlayerCollection(Collection<Player> playerCollection) {
    this.playerCollection = playerCollection;
    public Contractperiod addContractperiod(Contractperiod contractperiod) {
    getContractperiodList().add(contractperiod);
    contractperiod.setClub(this);
    return contractperiod;
    public Contractperiod removeContractperiod(Contractperiod contractperiod) {
    getContractperiodList().remove(contractperiod);
    contractperiod.setClub(null);
    return contractperiod;
    package demo;
    import java.io.Serializable;
    import java.sql.Timestamp;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.JoinColumn;
    import javax.persistence.ManyToOne;
    import javax.persistence.NamedQuery;
    @Entity
    @NamedQuery(name = "Contractperiod.findAll",
    query = "select o from Contractperiod o")
    public class Contractperiod implements Serializable {
    @Column(name="END_DATE")
    private Timestamp endDate;
    @Id
    @Column(nullable = false)
    private Long id;
    @Column(name="START_DATE", nullable = false)
    private Timestamp startDate;
    @ManyToOne
    @JoinColumn(name = "PYR_ID", referencedColumnName = "ID")
    private Player player;
    @ManyToOne
    @JoinColumn(name = "CUB_ID", referencedColumnName = "ID")
    private Club club;
    public Contractperiod() {
    public Timestamp getEndDate() {
    return endDate;
    public void setEndDate(Timestamp endDate) {
    this.endDate = endDate;
    public Long getId() {
    return id;
    public void setId(Long id) {
    this.id = id;
    public Timestamp getStartDate() {
    return startDate;
    public void setStartDate(Timestamp startDate) {
    this.startDate = startDate;
    public Player getPlayer() {
    return player;
    public void setPlayer(Player player) {
    this.player = player;
    public Club getClub() {
    return club;
    public void setClub(Club club) {
    this.club = club;
    package demo;
    import java.io.Serializable;
    import java.sql.Timestamp;
    import java.util.Collection;
    import java.util.List;
    import javax.persistence.CascadeType;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.JoinColumn;
    import javax.persistence.JoinTable;
    import javax.persistence.ManyToMany;
    import javax.persistence.NamedQuery;
    import javax.persistence.OneToMany;
    @Entity
    @NamedQuery(name = "Player.findAll", query = "select o from Player o")
    public class Player implements Serializable {
    @Column(nullable = false)
    private Timestamp birthdate;
    @Column(nullable = false)
    private String firstname;
    @Id
    @Column(nullable = false)
    private Long id;
    @Column(nullable = false)
    private String lastname;
    @Column(nullable = false)
    private String nationality;
    @ManyToMany
    @JoinTable(name="CONTRACTPERIOD",
    joinColumns=@JoinColumn(name="PYR_ID"),
    inverseJoinColumns=@JoinColumn(name="CUB_ID"))
    private Collection<Club> clubCollection;
    public Player() {
    public Timestamp getBirthdate() {
    return birthdate;
    public void setBirthdate(Timestamp birthdate) {
    this.birthdate = birthdate;
    public String getFirstname() {
    return firstname;
    public void setFirstname(String firstname) {
    this.firstname = firstname;
    public Long getId() {
    return id;
    public void setId(Long id) {
    this.id = id;
    public String getLastname() {
    return lastname;
    public void setLastname(String lastname) {
    this.lastname = lastname;
    public String getNationality() {
    return nationality;
    public void setNationality(String nationality) {
    this.nationality = nationality;
    public Collection<Club> getClubCollection() {
    return clubCollection;
    public void setClubCollection(Collection<Club> clubCollection) {
    this.clubCollection = clubCollection;
    public Contractperiod addContractperiod(Contractperiod contractperiod) {
    getContractperiodList().add(contractperiod);
    contractperiod.setPlayer(this);
    return contractperiod;
    public Contractperiod removeContractperiod(Contractperiod contractperiod) {
    getContractperiodList().remove(contractperiod);
    contractperiod.setPlayer(null);
    return contractperiod;
    <env:Envelope
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ns0="http://demo/">
    <env:Body>
    <env:Fault>
    <faultcode>env:Server</faultcode>
    <faultstring>Internal Server Error (circular reference detected while serializing: demo.Contractperiod)</faultstring>
    </env:Fault>
    </env:Body>
    </env:Envelope>
    Anyone else run into this Troll?
    All suggestions(almost all) received with thanks.
    Regards,
    Charles
    Some strange error messages in Diagnostic Logs:
    Log Message: September 18, 2006 3:58:02 PM CEST
         Component Name          OC4J          Component ID          j2ee
         Host Network Address          192.168.1.69          Message Level          1
         Module ID          home_ejb.transaction          User ID          Charles
         Execution Context ID          192.168.1.69:35920:1158587882221:405          Execution Context Sequence          0
         Host Name          vmware          Message ID          J2EE EJB-08006
         Thread ID          44          Message Type          Error
         J2EE Application Module          OraPorterAPIdeploy          J2EE Application          OraPorterAPIdeploy
         Web Service Port          JavaServiceFacade          Web Service Name          JavaServiceFacadeService
    Message Text
    [JavaServiceFacade:public java.util.List demo.JavaServiceFacade.queryClubFindAll()] exception occurred during method invocation: oracle.
    Supplemental Text
    oracle.oc4j.rmi.OracleRemoteException: java.lang.IllegalStateException: ClassLoader "OraPorterAPIdeploy.root:0.0.0" (from <application>
    in /C:/Oracle/oc4j/j2ee/home/applications/OraPorterAPIdeploy/): This loader has been closed and should not be in use.
    Nested exception is:
    java.lang.IllegalStateException: ClassLoader "OraPorterAPIdeploy.root:0.0.0" (from <application> in /C:/Oracle/oc4j/j2ee/home/applications/OraPorterAPIdeploy/):
    This loader has been closed and should not be in use.
    ........This loader has been
    closed and should not be in use.; nested exception is:
    java.lang.IllegalStateException: ClassLoader
    Message was edited by:
    promise
    Message was edited by:
    promise

    Hei Guys -
    I see that the ClassLoader exceptions are known, and are "to be ignored".
    I left a reference to them, in case they play into our problems anyway.....
    "java.lang.IllegalStateException: ClassLoader" - known harmless bug... ?
    Best Regards,
    Charles

Maybe you are looking for

  • Can you have two iPods for one computer?

    I know nothing about iPods so please excuse me for this question that probably has an obvious answer. My sister has an iPod nano that she has been using with our computer for a long time. I just bought an iPod and was trying to set it up. So can I us

  • File download dialog box problem!

    Hi, How do you force file download message box to use specified file name instead of JSP or servlet name. I am using: // code in attachment.jsp <% response.setContentType(mimeType.trim()); response.setHeader("Content-Disposition","attachment;filename

  • Old Purchase Order and Templates

    Hi Experts, We have implemented SRM 5 and ECC 6 with classic scenario. When we create a shopping cart, there is an option to select the old PO and templates which gives option to search for our own shopping carts and templates if any. We have an busi

  • Using  BAPI_DOCUMENT_CREATE2

    hello, I'm using this BAPI and when I execute it, it returns the document number  that was created, but when I look for it with transaction CV03N, the document does not exist.  In addition, if I execute the BAPI again, the document number continues b

  • Awt.toolkit returns null

    Hi all, I've discovered that the awt.toolkit system property returns null on the linux server hosting a java web application am working on. I've listed some of the AWT system properties on the system but the awt.toolkit returns null. java.awt.graphic