Version number conflicts with NI custom data types

Custom data type version number conflicts
Options
Mark as New
Bookmark
Subscribe
Subscribe to RSS Feed
Highlight
Print
Email to a Friend
Report to a Moderator
07-11-2011 08:10 AM
I am new to Teststand software interface.  While doing my first software release under the guidance of a more experienced colleague, we discovered that Teststand will not run if it detects version number conflicts between custom data types on my machine vs. the production test machine.  I verified differences between all .seq files in my test program directory, but I did not realize that the version number difference exists in the StationGlobals.ini file, which is stored in a different location.  After discovering this, I modified the version number in one of the files.  However, two releases later, I discovered that the version number mismatches in another two files.  This raises several questions for me :
1.  Is there a way in Teststand to view all the .seq files where a custom data type is used and then change its version number in one attempt?
2.  Under what instances does Teststand upgrade the version number of a custom data type?
3.  Are there any tools or scripts within Teststand that can allow the version number of custom data types to be changed in all .ini files when a difference is discovered between the current production test station settings and a new release?
Please help.

Have you read this?  http://zone.ni.com/devzone/cda/tut/p/id/7060
I can tell you that your situation is not uncommon with TestStand.  The key is just doing it right the first time.  haha
#1- I doubt that this is possible because then TestStand would have to know every location of every .seq on the machine.  You will only see it when you open the sequence file.
#2- TestStand updates the version every time you change it.  You should get a message popup when you try to save that asks if you want to increment the version or not.  There's also a check box that says Remove Modified Mark From Types.  Look under Station Options in the File tab.  There are some settings there about Type conflicts.
#3- http://zone.ni.com/devzone/cda/tut/p/id/7910
http://digital.ni.com/public.nsf/allkb/4153576DA04BEB098625743D00704A09
Hope this helps,
jigg
CTA, CLA
teststandhelp.com
~Will work for kudos and/or BBQ~

Similar Messages

  • Error while recording process using a component with a custom data type

    Hello,
    I created a component that returns a CheckAttachmentResult object. This object contains an int named resultCode and a String named resultMessage. In the CheckAttachmentResult class, I do have a getter and a setter function for both values.
    When I use the component, I can retrieve the CheckAttachmentResult object, see the values that are set (i.e. resultMessage and resultCode) and work on them (for instance build a condition on the resultCode).
    However when the current process goes into a subprocess after having used this component, I get the following error:
    Failed evaluating outgoing routes for action=template:ReceptionDtpBriefingV2/branch:main-branch/pool:POOL/swimlane:Extraction du DTP/action:Check DTP attachments: java.lang.NullPointerException  at com.adobe.idp.auditworkflow.dsc.service.storage.ProcessRecordingStorageImpl.persistDocume ntVariables(ProcessRecordingStorageImpl.java:409)
        at com.adobe.idp.auditworkflow.dsc.service.storage.ProcessRecordingStorageImpl.serialize(Pro cessRecordingStorageImpl.java:390)
        at com.adobe.idp.auditworkflow.dsc.service.storage.ProcessRecordingStorageImpl.persist(Proce ssRecordingStorageImpl.java:151)
        at com.adobe.idp.auditworkflow.dsc.service.AuditWorkflowServiceImpl.auditEvent(AuditWorkflow ServiceImpl.java:62)
        at sun.reflect.GeneratedMethodAccessor1278.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at com.adobe.idp.dsc.component.impl.DefaultPOJOInvokerImpl.invoke(DefaultPOJOInvokerImpl.jav a:118)
        at com.adobe.idp.dsc.interceptor.impl.InvocationInterceptor.intercept(InvocationInterceptor. java:140)
        at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
        at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor$1.doInTransaction(Transa ctionInterceptor.java:74)
        at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionCMTAdapterBean.execute(EjbTr ansactionCMTAdapterBean.java:342)
        at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionCMTAdapterBean.doRequiresNew (EjbTransactionCMTAdapterBean.java:284)
        at sun.reflect.GeneratedMethodAccessor236.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
        at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionConta iner.java:214)
        at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionI nterceptor.java:149)
        at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstance Interceptor.java:154)
        at org.jboss.webservice.server.ServiceEndpointInterceptor.invoke(ServiceEndpointInterceptor. java:54)
        at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
        at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)
        at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:389)
        at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)
        at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:153)
        at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
        at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor. java:122)
        at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
        at org.jboss.ejb.Container.invoke(Container.java:873)
        at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:415)
        at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:88)
        at $Proxy169.doRequiresNew(Unknown Source)
        at com.adobe.idp.dsc.transaction.impl.ejb.EjbTransactionProvider.execute(EjbTransactionProvi der.java:143)
        at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor.intercept(TransactionInt erceptor.java:72)
        at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
        at com.adobe.idp.dsc.interceptor.impl.InvocationStrategyInterceptor.intercept(InvocationStra tegyInterceptor.java:55)
        at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
        at com.adobe.idp.dsc.interceptor.impl.InvalidStateInterceptor.intercept(InvalidStateIntercep tor.java:37)
        at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
        at com.adobe.idp.dsc.interceptor.impl.AuthorizationInterceptor.intercept(AuthorizationInterc eptor.java:109)
        at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
        at com.adobe.idp.dsc.interceptor.impl.JMXInterceptor.intercept(JMXInterceptor.java:48)
        at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
        at com.adobe.idp.dsc.engine.impl.ServiceEngineImpl.invoke(ServiceEngineImpl.java:115)
        at com.adobe.idp.dsc.routing.Router.routeRequest(Router.java:118)
        at com.adobe.idp.dsc.provider.impl.base.AbstractMessageReceiver.routeMessage(AbstractMessage Receiver.java:91)
        at com.adobe.idp.dsc.provider.impl.vm.VMMessageDispatcher.doSend(VMMessageDispatcher.java:21 5)
        at com.adobe.idp.dsc.provider.impl.base.AbstractMessageDispatcher.send(AbstractMessageDispat cher.java:57)
        at com.adobe.idp.dsc.clientsdk.ServiceClient.invoke(ServiceClient.java:208)
        at com.adobe.workflow.audit.WorkflowAudit.invokeCallback(WorkflowAudit.java:471)
        at com.adobe.workflow.audit.WorkflowAudit.breakpointRouteEvaluationCompleted(WorkflowAudit.j ava:268)
        at com.adobe.workflow.engine.PEUtil.evaluateRules(PEUtil.java:425)
        at com.adobe.workflow.engine.SynchronousBranch.getNextActionOrStallOnFailure(SynchronousBran ch.java:801)
        at com.adobe.workflow.engine.SynchronousBranch.updateBranchInstanceStatus(SynchronousBranch. java:649)
        at com.adobe.workflow.engine.SynchronousBranch.execute(SynchronousBranch.java:887)
        at com.adobe.workflow.engine.ProcessEngineBMTBean.continueBranchAtAction(ProcessEngineBMTBea n.java:2773)
        at com.adobe.workflow.engine.ProcessEngineBMTBean.asyncInvokeProcessCommand(ProcessEngineBMT Bean.java:704)
        at sun.reflect.GeneratedMethodAccessor503.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
        at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionConta iner.java:214)
        at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionI nterceptor.java:149)
        at org.jboss.webservice.server.ServiceEndpointInterceptor.invoke(ServiceEndpointInterceptor. java:54)
        at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
        at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)
        at org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxInterceptorBMT.java:1 58)
        at org.jboss.ejb.plugins.TxInterceptorBMT.invoke(TxInterceptorBMT.java:62)
        at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstance Interceptor.java:154)
        at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:153)
        at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
        at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor. java:122)
        at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
        at org.jboss.ejb.Container.invoke(Container.java:873)
        at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:415)
        at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:88)
        at $Proxy202.asyncInvokeProcessCommand(Unknown Source)
        at com.adobe.workflow.engine.ProcessCommandControllerBean.doOnMessage(ProcessCommandControll erBean.java:156)
        at com.adobe.workflow.engine.ProcessCommandControllerBean.onMessage(ProcessCommandController Bean.java:99)
        at sun.reflect.GeneratedMethodAccessor457.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
        at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.j ava:475)
        at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionI nterceptor.java:149)
        at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterc eptor.java:101)
        at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)
        at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:335)
        at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)
        at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:94)
        at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
        at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:389)
        at org.jboss.ejb.Container.invoke(Container.java:873)
        at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:1077)
        at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerI nvoker.java:1379)
        at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256)
        at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:904 )
        at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:160)
        at org.jboss.mq.SpySession.run(SpySession.java:333)
        at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
        at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
        at java.lang.Thread.run(Thread.java:595)
    It turns out that this error is related to the recording of the process. When I stop the recording, this error disappears. Do you have any idea on what goes wrong ? Did I miss something or made something wrong ?
    I attached the component.xml file of the component to this post.
    Thank you in advance
    Steve

    This seems to be recorded in CAR#405941.  The whole thing is a bit strange but I will try to go over the potential workarounds as best as I can.  I tested a lot of these myself and here is what I found.
    1. Make sure the custom control you have made was created in LabVIEW 2012 or you save it to a previous version.  If you save it to a previous version you might also need to open the .ctl in LabVIEW 2012 and resave it (I needed to do this).  I tried creating my own control in 2012 as well as saving the control to a previous version, both worked but I did not end up with the same result (I don't understand this but I wanted to mention it so that you knew).
    2. It seems that you are able to make the shared variable programmatically by modifying the community example to fit your needs.  If you do not need to create many variables this may be the best option if it works for you.
    I would also try adding the variable from the LabVIEW project you are working on.  This was not a direct troubleshooting step but there are multiple ways to do things in LabVIEW and sometimes one of them works while the other does not.
    Edit: Community Example is here https://decibel.ni.com/content/docs/DOC-16863
    Matt J
    Professional Googler and Kudo Addict
    National Instruments

  • Custom data type version number conflicts

    I am new to Teststand software interface.  While doing my first software release under the guidance of a more experienced colleague, we discovered that Teststand will not run if it detects version number conflicts between custom data types on my machine vs. the production test machine.  I verified differences between all .seq files in my test program directory, but I did not realize that the version number difference exists in the StationGlobals.ini file, which is stored in a different location.  After discovering this, I modified the version number in one of the files.  However, two releases later, I discovered that the version number mismatches in another two files.  This raises several questions for me :
    1.  Is there a way in Teststand to view all the .seq files where a custom data type is used and then change its version number in one attempt?
    2.  Under what instances does Teststand upgrade the version number of a custom data type?
    3.  Are there any tools or scripts within Teststand that can allow the version number of custom data types to be changed in all .ini files when a difference is discovered between the current production test station settings and a new release?
    Please help.

    You'll probably get better response in the TestStand Forum instead of the LabVIEW forum.
    1.  Is there a way in Teststand to view all the .seq files where a custom data type is used and then change its version number in one attempt?
    Look at the Types Window (Ctrl-T).  This should show which version of Custom Data Types are loaded for which sequence files.
    2.  Under what instances does Teststand upgrade the version number of a custom data type?
    As far as I know, anytime you edit a custom datatype which is already in memory, TestStand will update the version of the custom data type for the currently loaded sequences.
    3.  Are there any tools or scripts within Teststand that can allow the version number of custom data types to be changed in all .ini files when a difference is discovered between the current production test station settings and a new release?
    I think you can use the Types Window to do this but I'm not positive.

  • Problems with Custom Data Types when converting from TS 1.0 to 3.0.

    I am currently involved in the process of converting a test environment from TestStand 1.0, LabVIEW 5.1, and Windows NT to TestStand 3.0, LabVIEW 7.0, and Windows XP. We use a custom Operator Interface developed in LV. Based on the entered Model and Serial number, the appropriate Test Sequence is called. We also use a custom Process Model. The steps in the Test Sequence are either LV code modules or DLLs created in C++. We have LV SubVIs and C++ API functions that allow the developers of the test steps to add data to various Custom Data Types. For example, a developer may set up a test to add a note (Step.Result.Notes[x].String) when the test fails. Step.Result.Notes is a container for an array of strings. The attempt to set a note first attempts to use SetDimensions to redimension the array, then SetValString to set the value. These notes are added to the report. On the old system, everything worked fine. A note could be added to any result. On the new system, if a note is added to say the 5th result, but results 1-4 do not have a note, the test sequence ends and the Operator Interface returns to waiting for data entry (as if no test ever happened). No report is generated. The LabVIEW libraries have been modified to solve this problem by calling SetDimensions to incrementally increase the array size by one, and populating the unused TestStand array elements with an empty array of LabVIEW strings using the SetValString call . In other words, based on the previous example, if the user wants to set a note for the 5th result, the notes for results 1-4 must first be sent an empty array of strings. The report will only display the note for Result 5 (as desired). In addition to this being cumbersome, attempting to implement the same workaround in the C++ API has been unsuccessful because even though the note arrays for unwanted notes (1-4) is initialized with nothing, it is still displayed as a note (empty) on the report. If anybody knows what is wrong and what the solution is, it will be appreciated.

    Aaron,
    Thanks for your reply. I will attempt to clarify. I am working with a single step. The step calls a DLL. The DLL performs many 'checks' on the UUT (e.g. Model Number Check, Serial Number Check, Calibration Constants Check, etc.). Under the Type Palette - MyTypes.ini, we have a Step Type called TEST_DLL with a container in it called Results. In the Results container are a number of things, but I will only list the important ones:
    Notes (Array of Type 'Notes'; Type 'Notes' is a Custom Data Type (container, Type Definition)containing an array of strings called 'String')
    -Notes are generally set when on of the checks fails, otherwise no Note is set for the check.
    Val (Array of Type 'Val'; Type 'Val' is Custom Data Type (container, Type Definition) containing a Boolean called 'Boolean')
    -Val indicates whether the check passed of failed
    Pseudocode example:
    //Model Number Check
    check# = 0;
    resultBOOL = ModelNumberCheck();
    SetDimensions("Step.Result.Val", 0, "[0]", check#);
    SetValBoolean("Step.Result.Val[check#].Boolean", 0, resultBOOL);
    if(resultBOOL == FAIL)
    Note# = 0;
    SetDimensions("Step.Result.Notes", 0, "[0]", check#);
    SetDimensions(Step.Result.Notes[check#].String, 0, "[0]", Note#);
    SetValString("Step.Result.Notes[check#].String[Note#]", 0, "Model Number Check failed");
    Note# = 1;
    SetDimensions(Step.Result.Notes[check#].String, 0, "[0]", Note#);
    SetValString("Step.Result.Notes[check#].String[Note#]", 0, "Model Number = 1234");
    //Serial Number Check
    check# = 1;
    resultBOOL = SerialNumberCheck();
    SetDimensions("Step.Result.Val", 0, "[0]", check#);
    SetValBoolean("Step.Result.Val[check#].Boolean", 0, resultBOOL);
    if(resultBOOL == FAIL)
    Note# = 0;
    SetDimensions("Step.Result.Notes", 0, "[0]", check#);
    SetDimensions(Step.Result.Notes[check#].String, 0, "[0]", Note#);
    SetValString("Step.Result.Notes[check#].String[Note#]", 0, "Serial Number does not match expected");
    More Checks
    As you can see above, the "Step.Result.Val" array is redimensioned for every check. The "Step.Result.Notes" array is only redimensioned when a note needs to be added for a failing check. If the entire step executes and no check adds a note, the sequence is fine. If every check fails and therefore every check adds a note, the sequence is fine. However, if there are any gaps (e.g. check 0 adds a note, check 1 does not add a note, and check 2 tries to add a note), the sequence will stop. If I add blank notes for every check that would otherwise not have a note, the sequence completes, but the report shows the blank note.
    Also, the exact code that is causing these problems runs fine on our old systems (TestStand 1.0). I hope that I clarified the problem and thanks again for the help.

  • What's going on with re-ordering custom data types?

    OK, I can't make heads or tails out of this one:
    I've got a bunch of custom data types in my own typedef file (and it's part of my type palettes).
    I open up my types browser, select my type file, go browse to the "custom data types" section.
    I want them in a different order so I can better understand them.
    (actually I select the one below it (TekTimestamp) and try dragging it up and down the list. anywhere I go I get the circle with a cross through it saying I can't drag it here.
    OK, give up on that one.
    Then I'll grab TekSimulateMode typedef
    Try dragging it around, and I get the nice black line saying I can drag it somewhere else -- looks kinda like this:
    Notice I dragged it only one spot down, and the item I dragged it across is used in exactly the usage locations, and neither has any nested typedefs (they are only containers of primitive boolean/string).  Also notice that it and everything I dragged it across is owned by this type file.
    Once I let up on the mouse, I get this warning message popping up:
    What's up?? Why can't I change the location of the first typedef (ordering) within the file, but I can for the second??
    Why do I get this dialog when I move a typedef within a file that already owns it??

    Oop.  My bad.  I was so eager to help you out...
    I know it has to do with the Usage column.  Since you are changing your Station Globals.ini by dragging them around I think the warning is from there.  I know that once you have instances of them then you are now changing that data type for all those locations.  That's why you can't delete them if you have an instance.  It won't (or shouldn't) affect anything by moving them other than you may now have to save your station globals and sequence files again.  Not sure if it revs the version or not, it doesn't look like it did on mine.
    As for the one that won't move?  Not sure on that one.  I've never seen that.  Possible some instance is restricting it.
    Hope this helps some,
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • Issue with creating array of custom data type - WebLogic Integration

    Hi,
    We are doing WebLogic integration with Siebel for which from Siebel side we have generated java wrapper class which has all the methods, input\outputs defined and in\out params are serialized along with get\set methods. Following are the details of the input\output args.
    Account_EMRIO.java
    public class Account_EMRIO implements Serializable, Cloneable, SiebelHierarchy {
    protected String fIntObjectFormat = null;
    protected String fMessageType = "Integration Object";
    protected String fMessageId = null;
    protected String fIntObjectName = "Account_EMR";
    protected String fOutputIntObjectName = "Account_EMR";
    protected ArrayList <AccountIC> fintObjInst = null;
    Above class also includes constructors\overloaded constructor\getters\setters
    public AccountIC getfintObjInst() {    
    if(fintObjInst != null) {
    return (AccountIC)fintObjInst.clone();
    }else{
    return null;
    public void setfintObjInst(AccountIC val) {
    if(val != null) {
    if(fintObjInst == null) { 
    fintObjInst = new ArrayList<AccountIC>();
    fintObjInst.add(val);
    For the nested user defined data type AccountIC, it is defined in another java class as below
    AccountIC.java
    public class AccountIC implements Serializable, Cloneable, SiebelHierarchy {
    protected String fname = null;
    protected String fParent_Account_Id= null;
    protected String fPrimary_Organization = null;
    With the above, I was able to get all the AccountIC in the wsdl correctly and using this I was able to set the input param in the client
    WSDL:
    <xs:complexType name="accountEMRIO">
    <xs:sequence>
    <xs:element name="fIntObjectFormat" type="xs:string" minOccurs="0"/>
    <xs:element name="fIntObjectName" type="xs:string" minOccurs="0"/>
    <xs:element name="fMessageId" type="xs:string" minOccurs="0"/>
    <xs:element name="fMessageType" type="xs:string" minOccurs="0"/>
    <xs:element name="fOutputIntObjectName" type="xs:string" minOccurs="0"/>
    <xs:element name="fintObjInst" type="tns:accountIC" minOccurs="0"/>
    </xs:sequence>
    <xs:complexType name="accountIC">
    <xs:sequence>
    <xs:element name="fName" type="xs:string" minOccurs="0"/>
    <xs:element name="fParent_Account_Id" type="xs:string" minOccurs="0"/>
    <xs:element name="fPrimary_Organization" type="xs:string" minOccurs="0"/>
    minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>
    Now, I wanted to make slight difference in getter method of class Account_EMRIO method getfintObjInst so that an array of AccountIC is retured as output.
    public ArrayList<AccountIC> getfintObjInst() {    
    if(fintObjInst != null) {
    return (ArrayList<AccountIC>)fintObjInst.clone();
    }else{
    return null;
    With the above change, once the wsdl is generated, I am no longer getting fintObjInst field for AccountIC due to which I am unable to get the array list of accountIC
    WSDL:
    <xs:complexType name="accountEMRIO">
    <xs:sequence>
    <xs:element name="fIntObjectFormat" type="xs:string" minOccurs="0"/>
    <xs:element name="fIntObjectName" type="xs:string" minOccurs="0"/>
    <xs:element name="fMessageId" type="xs:string" minOccurs="0"/>
    <xs:element name="fMessageType" type="xs:string" minOccurs="0"/>
    <xs:element name="fOutputIntObjectName" type="xs:string" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>
    The issue that I am facing here is, we have a custom data type(AccountIC) which has several fields in it. In the output I need a array of AccountIC. In the java bean, when this type was defined as
    protected ArrayList <AccountIC> fintObjInst = null; I was unable to get a array of AccountIC. this gets complicated as inside a AccountIC there is array of contacts as well and all the time I am getting just the first records and not a array.
    To summarize: How to get xsd:list or maxoccurs property for a field in WSDL for the user defined\custom datatype?
    Can someone help me with this.
    Thanks,
    Sudha.

    can someone help with this??

  • Call Oracle procedure with custom data type within Java and Hibernate

    I have a custom date TYPE in Oracle
    like
    CREATE TYPE DATEARRAY AS TABLE OF DATE;
    and I have a Oracle function also
    like
    CREATE OR REPLACE FUNCTION doesContain (list DATEARRAY, val VARCHAR2) RETURN NUMBER
    IS
    END doesContain;
    In my Java class,
    I have a collection which contain a list of java.util.Date objects
    When I call Oracle function "doesContain", how to pass my java collection to this Oracle function ...
    anyone can provide solutions?
    Please !!!
    Thanks,
    Pulikkottil

    Vu,
    First of all you need to define your types as database types, for example:
    create or replace type T_ID as table of number(5)Then you need to use the "oracle.sql.ARRAY" class. You can search this forum's archives for the term "ARRAY" in order to find more details and you can also find some samples via the JDBC Web page at the OTN Web site.
    Good Luck,
    Avi.

  • Where to define new custom data type ?

    Hi,
    In the past (TS 3.5) I've created our own custom type palette file which has been used
    to store new data types and then passed the file to other colleagues. The file would be
    stored in the ......\Program Files\.......\User area.
    My question has arose because we are now using TS 4.1/4.2 which no longer has separate
    NI and User directories in \Program Files.
    Because I now want to edit an existing custom data type, I find that our custom type palette has
    fallen by the way side, forgot about.
    Even though I can see the custom data type definitions within sequence files that employ
    the custom data types, which means I can modify them locally, I intend to return to
    a custom type palette, i.e. global definition.
    What is the relationship between data definitions in a custom type palette and the custom data
    type definitions within a sequence file ?
    When does a palette file update a sequence file ?, which takes control in the event of conflicts ?,
    is a palette file actually necessary if separate sequence files using the same custom data type
    can update each other ? What is good practice when defining custom data types ?
    thanks,
    Gary.
    Solved!
    Go to Solution.

    Hey guys, 
    This is an very interesting thread, and I whole heartedly agree with the advice given so far. I simply wanted to offer some additional advice on type conflicts - which with further answer the initial question regarding which type definition takes precedence in the event of a conflict. 
    It is important to note that TestStand uses type Names and version numbers to identify the different types. It is also important to note that when you use a customer type definition within a sequence, the sequence file (.seq) which houses the sequence will retain a copy of the type definition. This makes distributing sequence files much easier. However, it also opens the door to potential type conflicts. 
    TestStand only allows one uniquely named type to be loaded into memory at any given time, so it uses the versions number of the type to attempt to automatically resolve these conflicts. For example, TestStand can be setup to load whichever type has the highest version number (note that this can be changed via the Preferences tab of the Station Options dialog box). 
    All of this information and more can be found in the following tutorials...
    TestStand Type Versioning and Conflicts
    How Do I Make a Custom Step Type?
    Thanks for your time. I hope this has been useful!
    Message Edited by RER on 02-05-2010 07:58 AM
    Rich R
    Applications Engineer
    National Instruments UK & Ireland

  • Designer Custom Data Type

    Hello,
    I've posted a project at some commercial sites to find someone to help me doing it, but couldn't find any. I thought that it might be impossible doing this type of projects. The following is what was posted expecting someone could help/lead me doing it myself or at least providing any valuable hints, Thank you in advance.
    Looking for an Oracle expert to do the software part of a project.
    A data to be populated in Oracle database, but unfortunately Oracle doesn't support the required data type to hold it.
    An expert has to create custom data type with all required procedures/functions to manipulate the data(Read/Update/Insert/Delete), and provide a method to incorporate the solution in Oracle developer suite to model it.(To use it inside designer tools)
    The solution should allow someone to Create a column in a table to hold (for example) three bits in every row(record), mostly used in the project is three bits, but need the solution to be open and customizable to any number from one up to 21. Viewing/entering the data in a record could be as binary string. Saving in a table physically should be in sampling way to save space.
    The functions/procedures for manipulating the data should be based on record level and block level(several records of one column with start/end points). For record manipulations a binary string should be used, and for block manipulations a sampled structure should be used.
    Thank you for your time.
    Platforms:
    Oracle Database 9i and above.
    Oracle Developer Suite 9i and above.
    */

    not sure what exactly do you mean by custom data type in SQL? if you mean if there is a user defined data type in oracle thru PL/SQL yes there is. by using the %Type you need not to declare the variable data type explicitly. all you need to do is associate the variable to the column name of the table and use the %Type. see this example below.
    SQL> declare
      2    vEmpno   emp.empno%Type;
      3  begin
      4    select empno
      5      into vEmpno
      6      from emp
      7     where ename = 'FORD';
      8    dbms_output.put_line('employee no: '||vEmpno);
      9  end;
    10  /
    employee no: 7902
    PL/SQL procedure successfully completed
    SQL> or if you are looking for a collection of data types see this link about OBJECT TYPES

  • Sql Devloper 4.0.0.13 - problems with displaying user data types

    Hi,
    I have installed new version of sqldeveloper and have discovered some problems with displaying user data types. The data that is described as VARCHAR2 are displayed with ‘???’.
    The problem persist in table view, script output and exported files.
    My type is described as follows:
    create or replace TYPE "DPTY_ADRESA" AS OBJECT
      ID_DPSF_OPCINE                                         NUMBER,
      ID_DPSF_MJESTA                                        NUMBER,
      OPCINA                                            VARCHAR2(100),
      MJESTO                                            VARCHAR2(100),
      ULICA                                 VARCHAR2(200),
      BROJ                                   VARCHAR2(20),
      SPRAT                VARCHAR2(20),
      OSTALO                             VARCHAR2(100),
      CONSTRUCTOR FUNCTION dpty_adresa RETURN SELF AS RESULT
    add MEMBER FUNCTION dajAdresu RETURN VARCHAR2 cascade;
    when make select column from table that contains this type I get next results:
    CASE 1:
    SQLDeveloper Version 3.2.20.09; Build MAIN-09.87; JDK 1.6.0_43; Windows 7 64 bit
    Select:
    select id, adresalokacija
    from dptr_saglasnosti
    where id = 1;
    Result:
            ID ADRESALOKACIJA
             1 COMP.DPTY_ADRESA(124,4913,'TRAIK','TURBE','BABANA','3452','0',NULL)
    END CASE 1;
    CASE 2:
    SQLDeveloper Version 4.0.0.13; Build MAIN-13.80; JDK 1.7.0_40; Windows 7 64 bit
    Select1:
    select id, adresalokacija
    from dptr_saglasnosti
    where id = 1;
    Result1:
    ID ADRESALOKACIJA
             1 COMP.DPTY_ADRESA(124,4913,'???','???','???','???','???',NULL)    
    But if I select one element it is displayed normal.
    Select2:
    select id, a.adresalokacija.opcina
    from dptr_saglasnosti a
    where id = 1;
    Result2:
    ID ADRESALOKACIJA.OPCINA
             1 TRAVNIK                  
    END CASE 2;
    I have tried this scenario on three different pc with same output.
    Pleas help me to get rid of the '???' in result.
    Best Regards,
    Omer

      I tried on SQLDeveloper Version 4.0.0.13; Build MAIN-13.80; JDK 1.7.0_45; Windows 7 64 bit; NLS setting is default
    all data can show,No ??? in result
    Test step as following:
    create or replace TYPE "DPTY_ADRESA" AS OBJECT
      ID_DPSF_OPCINE                                         NUMBER,
      ID_DPSF_MJESTA                                        NUMBER,
      OPCINA                                            VARCHAR2(100),
      MJESTO                                            VARCHAR2(100),
      ULICA                                 VARCHAR2(200),
      BROJ                                   VARCHAR2(20),
      SPRAT                VARCHAR2(20),
      OSTALO                             VARCHAR2(100),
      CONSTRUCTOR FUNCTION dpty_adresa RETURN SELF AS RESULT
    alter TYPE "DPTY_ADRESA" add MEMBER FUNCTION dajAdresu RETURN VARCHAR2 cascade;
    CREATE TABLE dptr_saglasnosti (
    adresalokacija        DPTY_ADRESA,
      id    number);
      INSERT INTO dptr_saglasnosti VALUES (
      DPTY_ADRESA (65,225,'Vrinda Mills', '1-800-555-4412','sss','aaaa','eeeee','attta'),1 );
    select id, adresalokacija from dptr_saglasnosti where id = 1;
    ID ADRESALOKACIJA
    1    HRCP.DPTY_ADRESA(65,225,'Vrinda Mills','1-800-555-4412','sss','aaaa','eeeee','attta')

  • How can take a Custom Data Type in TestStand and create a LabVIEW DataType?

    I am using LV 8.2 and TS 3.5.
    I have an existing Custom Data Type in TestStand and I want to make a LabView Type Def.  The TS DataType contains 11 elements: a Visa Resource Container of 2 elements (String, DeviceName and Number, Session), 9 Numerics and 1 String Array.  For Backwards compatability, I cannot modify the TestStand DataType.
    Thanks,
    Jean

    Hi Goldee,
    You should be able to do that. It's a two step procedure.
    1) Creates in LV a custom datatype that maps 1:1 yours TS datatype.
    2) Go in the TypePalette in the properties of yours TS Datatype and check into LV Cluster Passing Menu'. Here you can Connect a specific Field of the TS datatype to a Specific Label of the corresponding LV datatype. Once you've done it the TS datatype will result modified, I mean "starred" but the change you applied should not impact the datatype structure itself only the way you pass it to LV.
    Have a good day
    FiloP
    It doesn't matter how beautiful your theory is, it doesn't matter how smart you are. If it doesn't agree with experiment, it's wrong.
    Richard P. Feynman

  • JBO-27021: Failed to load custom data type value at index 1

    I have an adf table and an adf form in a jspx page. Well, the function of it is pretty basic CRUD. During our testings, we seem to have no problem at all but after deploying it to our remote server, we've been getting this error every time we delete the 'first' record in the table. We tried deleting other records and it worked perfectly fine. This is the first time we've encountered an error like this and we don't really know how to debug this, since it's working fine locally. Any help would be appreciated. Thanks!
    here's the pop-up error after trying to delete the first record
    JBO-27021: Failed to load custom data type value at index 1 with java object of type oracle.jbo.domain.Number due to java.sql.SQLException.
    I'm using jdev 11g and the latest webLogic server

    I have a similar problem,
    I have a VO with a query of the form: "SELECT d.campoUno, d.campoDos, sum(d.campoTres) as campoTres FROM TablaUno d
    WHERE <conditions>
    GROUP BY d.campoUno, d.campoDos",
    to modify the query for "SELECT d.campoUno, d.campoDos, *d.campoCuatro*, sum(d.campoTres) as campoTres FROM TablaUno d
    WHERE <conditions>
    GROUP BY d.campoUno, d.campoDos, *d.campoCuatro*"
    throws an exception: "javax.faces.el.EvaluationException: oracle.jbo.AttributeLoadException: JBO-27021: Failed to load custom data type value at index 16..............Caused by: java.sql.SQLException: Invalid column index
    The attribute was added well in xml definitions.
    I use JDeveloper 11.1.1.4.0
    any suggestions?

  • Renaming custom data type

    All,
    Is it possible to rename a Custom Data Type (programatically or via a CallBack etc...)? Specifically, the container UUT. I want to call it something else for my program.
    Thanks
    Solved!
    Go to Solution.

    To rename a custom data you must have all files with instances of that type open when you make the change, otherwise they will be considered to have a different type with the old name when they are next opened. Do you mean the UUT process model data type? I would recommend against changing that since you will make your custom version of the process model less compatible with the default version, especially since the end user/operator does not necessarily ever have to see the type name, so it's probably not worth the hassle in that case.
    Hope this helps,
    -Doug

  • Custom data type

    Hi, can anyone help me in creating custom data types in java?
    For example I want a data type to be able to store telephone numbers
    I dont want to use strings as they can also have a-z values and I cant use integers coz telephone numbers start with a 0.

    public class TelephoneNumber {
       private String number;
       public TelephoneNumber(String number) {
          if(number.length() != 10) throw new MonkeyPoo();
          for(char c : number.toCharArray()) {
             if(! Character.isDigit(c)) throw new Something("Blarg");
          this.number = number;
    }

  • Custom Data Types

    Hi! I am just starting to build Java and I am having this problem.It's so much .doc about Java but I still can't find what I need. My problem:
    I should define(in a class or interface or something else) a custom data type like : uint16, or uint32, which means that instead of writing : int j; , I should be able to write : uint16 j; which means an unsigned integer(positive) on 16 bits(eg. short). And this not only in one file, but in any file I want to, and to be able to transport this through TCP. Thank you a lot if you can help me.

    Ok, you could use some API that provides uint16, uint32,... classes or you could write your own. But this is really not something you would ever do in practical use except perhaps for interoperability with other languages. In that case you will not be able to use +,-,*,/,==,!=,>,<, and so forth, due to the lack of operator overloading in Java. It is not supported in Java by good reasons.
    In my opinion here somebody did bad work in constructing an exercise for your training. :-)
    regards
    Sven

Maybe you are looking for

  • Error while posting SOAP message

    I am trying to post a SOAP message but I keep getting this error. Can anybody help me on this. I tried using ALTOVA spy and SOAP Ui but the result is the same error.      <SOAP:Body>           <SOAP:Fault>                <faultcode>SOAP:Server</fault

  • Can't access Network share from Windows 8 computer

    I have a clean install of Windows 8 x64 running in a workgroup environment. I can access multiple computer/NAS shares except one share off a partifular NAS. This share is accessible from other computers and the other shares on the NAS are accessible

  • Merging Script for Sequences of Pictures

    Hi, from my panorama rendering passes, I receive picture sequences (picture.0001.png, picture.0002.png ...), where I need to * import each pic of the sequence, * crop it with a fixed value * place all next to each other from left to right and then *

  • BLS not openiing in xMII 11.5 SR01/04 on Windows 2003 Server

    Hi, I'm unable to open Logic Editor on xMII 11.5 SR04. The OS is Windows 2003 Server. I've tried with JDK/JRE version 1.4.2_07 and 1.4.2_13 both. The error message is "Unable to launch xMII". I've followed all the steps given in xMII installation gui

  • Assistants Failure toward end of Oracle Install

    Using the OUI I installed the Server but skipped database creation. toward the end 2 of the Assistants failed: Net8 Configuration Assistant Oracle Database Configuration Assistant how do i run these utilities separately? Do I reboot and restart the i