KEU3 - Iterative Indicator

Hello -
is there a way to process copa assessment iteratively like there is in cost center to cost center assessments?
your help is greatly appreciated!
Emmas

Hi
In cost center assessments, iterativeness is reqd reason being, one cost center may give as well as receive service to/from the same cost center
In COPA assessments, that is not the case.. you assess sales & admin costs to COPA usually, where in the receiver is customer/product/region/etc... This does not need iterative ness at all
Regards
Ajay M

Similar Messages

  • Iterative function in Assessment Cycles

    As I know about "Iteration" function in assessment cycle is u201Cindicator controls whether iterative sender/receiver relationships are considered when this cycle is processed. The iteration is repeated until each sender is fully credited u201Cbut its setting is required to perform the said function?
    Because we have activated the Iterative indicator but still not performing. Our requirement is to allocate the cost of two service cost centers which are providing services to each others how it could be done that until it become zero cost.
    To achieve this what is required to create whether we create 1 cycle which contain 1 segment and system will perform Iteration automatically until the cost become zero or we need to create several segments to achieve this?
    Thanks in advance.

    Hello,
    Iterative Processing
    If you want to execute the processing iteratively, you must select "Iterative" for the cycle. The SAP System also includes cyclical relationships in the cost center network (a receiver can also be a sender of costs).
    For more info, please use:
    http://help.sap.com/saphelp_47x200/helpdata/en/66/bc701243c211d182b30000e829fbfe/frameset.htm
    Rgds
    Balla

  • FAGLGA35 - Actual Distribution in New General Ledger accounting

    Dears,
    In transaction FAGLGA35, system gives below mentioned messages :-
    i) No valid sender entries were found. Message no. GA710.
    Diagnosis
    The system did not find a valid sender for cycle 0LZAWL, segment AWL. The problem can be due to the following reasons:
    Master data checking for cycle 0LZAWL, segment AWL, found no valid senders for this segment.
    The senders are valid from a master data standpoint, but the system found no posted values or quantities in the database corresponding to your selection criteria. The sender and the segment will be processed only if the cycle works iteratively and at least one sender in another segment receives values which it can then allocate iteratively.
    In cycles for indirect activity allocation, this message appears if segment AWL is to allocate posted sender activity quantities but the sender has been completely scheduled. Complete scheduling of posted activity quantities occurs, for example, if you use cycle AWL in a test run but already used it in a current real processing run in the system.
    System Response
    The system cannot process the segment.
    Procedure
    Check the definition of segment AWL in cycle 0LZAWL. In particular, check the validity of the sender master data for the settlement period.
    To do so in cycle maintenance, choose "Formal check".
    If segment AWL allocates posted values or quantities, the senders in the segment are valid only if:
    The sender holds actually posted values/quantities not equal to 0
    The cycle is iterative, and the sender receives values in another segment which it can then allocate iteratively.
    If necessary, you must set the iteration indicator in cycle 0LZAWL.
    In a cycle for indirect activity allocation, check whether the cycle is currently in use for posting in the system sender in segment AWL and thus completely schedules the senders in segment AWL.
    If this is the case, cancel the cycle and repeat the cycle execution.
    As per message solution, i do all the things but the same message comes.
    ii) Cycle 0LZAWL, start date 20080401, does not include any senders.
    Message no. GA749
    Diagnosis
    No senders were found for cycle 0LZAWL, starting date 20080401.
    System Response
    It is no longer possible to create receivers and assign senders for the segment.
    Procedure
    Check the definition of the cycle in the maintenance transaction for Actual Distribution: General Ledger. No valid sender cost centers could be found to match your selection.
    If you use the sender rules "Posted amounts" or "Posted quantities", check whether records exist in the database for the criteria you entered (cost element, version...)
    During indirect activity allocation with the sender rule "posted quantities", you should also note that only the difference between the planned/posted activity allocation and the scheduled activity quantity is allocated. If you entered activity types as sender, you should at this point also check the activity type category. For those quantities posted with an activity type of category 1 (manual entry, manual allocation) no indirect activity allocation is possible.
    1. If this is an allocation in the FI/FI-SL area, the problem could also be due to the inheritance logic for FI-SL totals tables, whose "Inheritance of sender based on the receiver" indicator is activated in the "Partner object update" view (T811U-INHERSRC). These are tables that were installed before Release 4.6A.
    Use transaction GCA8 to check this, and see the section on:
    Inheritance Logic for Allocations
    then correct the affected cycle, if required.
    Is anybody have any solution. Please suggest it.
    Regards,
    Kalpik Shah

    s_alr_87012168 : Customer Aging Report (Due Date Analysis for Open Items) this is a report generated.

  • Extract x value

    in a continuous stripchart, how can I extract the x value to use as a comparator value for a programmatic function at a specific point in time

    If you mean Waveform Chart, you can't exactly extract an x value. The Waveform Chart plots y data on equispaced x points, so the x value is really just point number. If your plotting is in a loop, just monitor the iteration indicator (usually in the lower left).
    ~Tim

  • Delta Report (/sapapo/ccr) in the background

    Hi Gurus,
    Is it possible to execute /sapapo/ccr in the background which also includes automatically executing iteration in the background?
    I tried scheduling a job with /sapapo/cif_deltareport3 in the background, but it seems what it does is to only compare the data between the two systems. Is there a way that the iteration of the inconsistencies also be done in the background?
    Thanks in advance!

    Sabado,
    Unfortunately, iteration is only done during display. 
    You can set the iteration indicator for a batch run, but that only means that the re-compare will be done when you call up the results for review.
    It sounds like you are asking if the program can be made to re-compare the results an additional time, before saving.  The standard program will not do this.
    You can set the iteration flag in batch and save the results. When you then call up the results later, for review and action, this will have the effect that the iteration will be performed immediately prior to displaying the results.  Typically, then, less errors will be displayed for your users to resolve.  Time lag is typically insignificant.
    The volume of temporary inconsistancies can be reduced by executing the reconciliation report during the periods of least data transfers between APO and its connected systems.  Under these conditions, the requirement for iteration is reduced or eliminated.
    http://help.sap.com/saphelp_scm2007/helpdata/en/8e/1ed0c5e6dc724ba0731545fc48e7be/frameset.htm
    Regards,
    DB49

  • Elapsed time error

    My problem is as follows, in the vi in attachments, I need to count time in I'll define in the step. But is not right, because I need this time count one time per trial. The basic function of the vi is the tempint is a temperature is acquisition of a thermometer, but this thermometer is configurable for indicate a certain temperature, so I need a automated system to configure this temperatures, but when the last step is reached, in the case of the trial is greater than 1, the elapsed time indicates a total time of execution, this not initiate in zero. I need help for repare this error.
    Attachments:
    trials.vi ‏256 KB

    Your VI is so complicated that I made no attempt to figure out what is going wrong.
    Do the following and see if you still have a problem:
    1. Get rid of all the local variables. In LabVIEW the wire is the variable. The control or indicator is just a connection to the user for the data.
    2. Get rid of the sequence structures.  Dataflow works fine for the code you have hidden in them.
    3. Clean up the diagram so that  wires run left to right and are not hidden behind other objects.
    4. Put some delay (Wait (ms)) in the loop so that it does not spin many thousands of times per second.
    I replaced all the Counter local variables with a shift register and wires. I wired an indicator, Count 2 to the output. It should have the same functionality as your orignial unless you had errors due to race conditions.  This is near the bottom of the diagram
    I wired an Iterations indicator to the "i" terminal in the loop so you can get an idea of how fast this iterates.
    Lynn
    Attachments:
    trials.2.vi ‏283 KB

  • How can I reset the value of an indicator in a while loop, from another synchronous while loop?

    I am running 2 synchronous while loops, one which is keep track of time, and the other is measuring periods. In the while loop that is measuring periods, I have a boolean indicator displaying whether the signal is on or off. My problem is that when the signal is off, the VI I use to measure the periods is waiting for the next signal, and displays the boolean value from the previous period measurement. While this VI is waiting, I want the indicator to display false and not the value from the last iteration of the loop.
    I am using LV 5.1 for MAC.

    Two things you can try:
    In preface to the first, the most common (perhaps ONLY) use of local variables should be in transferring data between parallel loops. This is a matter of discipline, and creates programs that are easier to understand, take less time and memory, and are just plain cleaner. Having said that, to transfer data between loops, use a local variable.
    Second solution: Instead of setting the value to false, just hide the indicator in question by using control references (property nodes for prev. version of LabVIEW). Control references are a great way to control items on a dialog or HMI screen.

  • (1) Would like to pause syringe pump at certain volume while still collecting diameter data, (2) Would like to delay chart and numerical indicator output until after syringe pump is run

    Hello:
    I am using Labview to control a New Era Pump Systems automatic syringe pump and to record diameter measurements from a LaserMike optical comparator. My program is fully functional, the code is attached with all auxilliary files in the NE-50X folder. I mostly understand my program, I used drivers for the NE-50X pump found on the NI website to build my code and added to it as needed. My program currently does the following:
    After I push the white Run button, I am prompted for a file name. After I enter one, Labview begins collecting data from the LaserMike and syringe pump and outputs them to their respective numerical indicators and waveform charts. Then I can change the syringe pump flow rate and syringe diameter on the front panel. Once I push the green RUN button on the front panel, the syringe pump runs, and the balloon diameter vs. syringe volume XY graph begins to record. I can then reverse the direction of the pump and/or pause the pump however many times I like, while Labview still records diameter from the LaserMike. Pushing the red STOP button on the front panel terminates the program and stops the pump.
    Here are three things I would like to change about my program that I don't know how/what to do:
    1) I would like the LaserMike and syringe pump to output to their respective numerical indicators and charts only AFTER the green RUN button on the front panel has been pushed and the pump is running.
    2) I would like to be able to pause the syringe pump at two specific volumes while Labview continues to collect data from the LaserMike. I do not mind if I would have to push RUN to manually restart the program. I just want the pump to stall for a few seconds once the syringe pump dispenses a certain volume without the program terminating.
    3) I would like the program to terminate once a certain volume has been dispensed. I would also like the syringe pump to return to zero, its starting position, after each test so that each test is identical.
    If anyone has ideas about how to do any of these three things, your help is greatly appreciated.
    Attachments:
    Balloon Diameter.vi ‏132 KB
    NE-50X.llb ‏994 KB

    1.  You can set a boolean value when the Run button is pressed and use that boolean value to determine whether or not your indicator is updated.
    2.  You check the value of your syringe volume every loop iteration and pause the pump if a certain value is reached.  You can have the program wait for the user to press a button to restart.  You can also have it pause for a period of time and continue automatically.
    3.  Just like #2, you can wait for a certain value and stop the overall loop once that value has been reached. 
    Your program is an excellent candidate for event handling.  I have attached a link to a tutorial.
    Brian R.
    District Sales Manager
    Washington DC
    National Instruments

  • Iterator List Error "java.util.ConcurrentModificationException"

    Hi,
    I'm with a problem. I've got a set of objects in a List. I'm iterating the list and during this process, I have to add more objects to the list. The system returns the exception "java.util.ConcurrentModificationException".
    What is the solution to this problem, that is, how can I iterate a list, adding or removig elements without error
    Thanx
    MP

    You cannot add to a list while iterators are in progress. You can remove elements by calling the remove method on the iterator.
    If you need to both iterate and add, consider iterating a copy of the list, like so:
    List copy = new ArrayList(originalList);
    for (Iterator it = copy.iterator(); it.hasNext(); ) {
       // call originalList.add here
    }You could also consider indexing into the list (if it's an ArrayList), and then "bumping" your indices as you add elements.

  • How do I set up an indicator to display for only 1 second?

    How do I set up an indicator to display for only 1 second?
    I am reading keys from a serial device and I turn on an indicator that corresponds to the key pressed
    on the serial device but how do I set this up so that it only stays lit (enabled) for a second or two?
    The indicator is inside of a case statement and turns on OK but I do not want it to stay on for more than
    a second or two. How do I modify this to display for only a second or two?
     (P.S. I am running an old version 8.2 and can only see vis that are 8.2 or older.)
    thanks

    Simplest way to turn the indicator off (false value) after a set time is to use a Sequence structure (flat or stacked).
    Frame 1, set to true,
    Frame 2, Wait ms (wire millisecond value to wait)
    Frame 3, set to false.
    This method, however, prevents the code outside the case structure from running during that wait time.  
    Something more elaborate will allow the external code to run.  What comes to mind is a shift register that holds the indicator name and the time stamp (in milliseconds) when it was turned on, in an array of clusters.  Each iteration of your loop will check this register to see if a certain time has passed (current time stamp minus turn on time).  If so, use a case structure to turn the indicator off and remove the elements from the shift register array (so you don't keep setting the indicator to false).  The array will let you control multiple indicators independently.
    A problem with this option could arise from multiple readings.  Lets say you want to turn it off after 2 seconds, but you read the value again after 1 second (this means the indicator should be on for a total of 3).  The code would still turn it off after the 2 second mark.  Of course this really depends on the time intervals involved with your code.

  • How do you determine the index of a List Iterator?

    I understand where the indices of a List Iterator in relation to the elements.
    Element(0) Element(1) Element(2) ... Element(n)
    ^ ^ ^ ^ ^
    Index: 0 1 2 3 n+1
    But I don't know how to return an index of a List Iterator.
    I'm trying to build a nextIndex and previousIndex method, which would return the index of the particular List Iterator of either the next() or previous() functions had been performed.
    Here is the rest of the code:
    public class List<E>
          Constructs an empty linked list.
       public List()
          first = null;
          last = null;
          size = 0;
          Returns the first element in the linked list.
          @return the first element in the linked list
       public E getFirst()
          if (first == null)
             throw new ListException("getFirst() called on empty list");
          return first.data;
          Removes the first element in the linked list.
          @return the removed element
       public E removeFirst()
          if (first == null)
             throw new ListException("removeFirst called on an empty list");
          E element = first.data;
          Node tmp = first;
          if (last == first)
              last = null;
          first = first.next;
          if (first != null)
              tmp.next = null;
              first.previous = null;
          size--;     
          return element;
          Adds an element to the front of the linked list.
          @param element the element to add
       public void addFirst(E element)
          Node newNode = new Node();
          newNode.data = element;
          newNode.next = first;
          if (first != null)
              first.previous = newNode;
          else
              last = newNode;
          first = newNode;
          size++;
          Returns an iterator for iterating through this list.
          @return an iterator for iterating through this list
       public ListIterator listIterator()
          return new ListIterator();
       public int size()
           return size;
       private Node first;
       private Node last;
       private int size;
       private class Node
          public E data;
          public Node next;
          public Node previous;
       private class ListIterator implements ListIteratorAPI<E>
             Constructs an iterator that points to the front
             of the linked list.
          public ListIterator()
             position = null;
             previous = null;
             Moves the iterator past the next element.
             @return the traversed element
          public E next()
             if (!hasNext())
                throw new ListException("Next() called at the end of the list");
             previous = position; // Remember for remove
             if (position == null)
                position = first;
             else
                position = position.next;
             return position.data;
             Moves the iterator before the element.
             @return the traversed element
          public E previous()
             if (!hasPrevious())
                throw new ListException("previous() called at the beginning of the list");
             previous = position; // Remember for remove
             if (position == null)
                position = last;
             else
                position = position.previous;
             return position.data;
             Tests if there is an element after the iterator
             position.
             @return true if there is an element after the iterator
             position
          public boolean hasNext()
             if (position == null)
                return first != null;
             else
                return position.next != null;
             Tests if there is an element before the iterator
             position.
             @return true if there is an element before the iterator
             position
          public boolean hasPrevious()
             if (position == null)
                return last != null;
             else
                return position.previous != null;
             Adds an element before the iterator position
             and moves the iterator past the inserted element.
             @param element the element to add
          public void add(E element)
             if (position == null)
                addFirst(element);
                position = first;
             else
                Node newNode = new Node();
                newNode.data = element;
                newNode.next = position.next;
                newNode.next.previous = newNode;
                position.next = newNode;
                newNode.previous = position;
                position = newNode;
                size++;
             previous = position;        
             Removes the last traversed element. This method may
             only be called after a call to the next() method.
          public void remove()
             if (previous == position)
                throw new IllegalStateException();
             if (position == first)
                removeFirst();
             else
                Node tmp = position;
                previous.next = position.next;
                if (position.next != null)
                    position.next.previous = previous;
                tmp.next = tmp.previous = null;
                position.previous = previous;
                size--;
             position = previous;
             Sets the last traversed element to a different
             value.
             @param element the element to set
          public void set(E element)
             if (position == null)
                throw new ListException("set calls on a null node");
             position.data = element;
          private Node position;
          private Node previous;
    }All I have for nextIndex() is this:
    public int nextIndex(){
          if (this.hasNext() == false)
               return size;
               else
                  this.next();
                  //what goes after this?
          }What am I missing? How do I return an index of a List Iterator?

    I wouldn't have a clue how to get the array-index from the current element of an iterator... and I don't think it is possible simply because not all implementations of list have a useful index... and certainly an index would be meaningless when iteratring a hashmap... so iterator doesn't support indexes.
    Isn't nextIndex an optional operation? ... And one which makes frag all sense for a linked list?[java.util.ListIterator|http://java.sun.com/javase/6/docs/api/java/util/ListIterator.html]
    ~

  • Command link / button action is not taking place if i use it in iterator.

    Hi,
    I am new to ADF, i am facing 1 issue while implementing ADF mobile browser application.
    Issue: command link / button action is not taking place if i use it in iterator. its just refreshing the page it self and displaying as no records.
    Scenario is i am populating the search results in results page from search page using iterator, i want to get the complete details in different page (results page -> details page) .
    I have tried in different ways.like
    case1:
    <tr:panelGroupLayout id="pgl2" layout="vertical" styleClass="af_m_panelBase">
    <tr:panelHeader text="#{classviewBundle.SEARCH_RESULTS}" id="ph1"/>
    <tr:iterator id="i1" value="#{bindings.SubjectVO1.collectionModel}" var="subject"
    varStatus="subIndx" rows="100">
    <tr:panelBox text="#{subject.Subject} #{subject.CatalogNbr} - #{subject.CourseTitleLong}"
    styleClass="af_m_listingPrimaryDetails" id="pb1">
    <f:facet name="toolbar"/>
    <tr:table var="ssrClass" rowBandingInterval="1" id="t1" value="#{subject.children}"
    varStatus="clsIndx" rowSelection="none"
    binding="#{SessionBean.subjectTable}" verticalGridVisible="true"
    emptyText="No Records" width="100%">
    <tr:column id="c9" sortable="false" styleClass="width:100%">
    <*tr:commandLink text="Section: #{ssrClass.ClassSection}-#{ssrClass.SsrComponentLovDescr} (#{ssrClass.ClassNbr})"*
    id="commandLink2" styleClass="af_m_listingLink"
    *action="#{pageFlowScope.BackingBean.searchaction}"></tr:commandLink>*
    //remaining code
    in this case commandlink action is not able to invoke serachaction() method
    case 2:
    <tr:commandLink text="Section: #{ssrClass.ClassSection}-#{ssrClass.SsrComponentLovDescr} (#{ssrClass.ClassNbr})"
    id="commandLink2" styleClass="af_m_listingLink"
    action="classdetails}"></tr:commandLink>
    in this case its not able to navigate to classdetails page.
    I gave correct navigation cases and rules in taskflow,but its working fine when the command link is out of iterator only.
    i tried with actionlistener too.. but no use.. please help me out of this problem .
    *Update to issue:*
    The actual issue is when i use command link/button in an table/iterator whose parent tag is another iterator then the action is not taking place.
    the structer of my code is
    < iterator1>
    #command link action1
    < iterator2>
    #command link action2
    </ iterator2>
    < /iterator1>
    #command link action1 is working but "#command link action2" is not...
    Thanks
    Shyam
    Edited by: shyam on Dec 26, 2011 5:40 PM

    Hi,
    To solve my problem I used a af:foreach instead.
    <af:forEach items="#{viewScope.DataBySubjectServiceBean.toArray}" var="text">
    <af:commandLink text="#{text.IndTextEn}" action="indicator-selected" id="cl1">
    <af:setActionListener from="#{text.IndCode}" to="#{pageFlowScope.IndicatorCodeParam}" />
    </af:commandLink>
    </af:forEach>
    By the way you need to convert the iterator to an Array using a ManagedBean.
    public Object[] toArray() {
    CollectionModel cm = (CollectionModel) getEL("#{bindings.TView1.collectionModel}");
    indicators = new Object[cm.getRowCount()];
    for(int i=0;i<cm.getRowCount();i++){
    indicators[i] = cm.getRowData(i);
    return indicators;
    public static Object getEL(String expr) {
    FacesContext fc = FacesContext.getCurrentInstance();
    return fc.getApplication().evaluateExpressionGet(fc,expr,Object.class);
    Hope that helps-
    Edited by: JuJuZ on Jan 3, 2012 12:23 AM
    Add getEL Method

  • Clear indicator during the while loop

    Hello guys,
    I trying an application very easy to show a number of iteration ( or count  by encoder in second time) and show a partial and a total on two indicator.
    I would like to reset the indicator and chart  when i press a clear button, but the only clean is the chart, while the indicator reset to zero rapidly ( with reinitialize to default value) but keep a memory of the iteration riched at the moment.
    What kind of solution you can suggest me? ) I tried to use shift register, case structure but I can't find a solution
    Thanks again for your precious help or suggest..
    here  I posted my VI
    Solved!
    Go to Solution.
    Attachments:
    cumulating count.vi ‏18 KB

    here there is a VI modified
    Thank you Systemcrash, good suggest..
    I tried to implementing your example( and suggest ) with my application  to acquire a counter ( I using an USB 6009 as prototype)  ,but I can't reset the counting.
    My idea is obtain  a partial count  and total count.
    So when I desire press a button reset or Clear and restart to zero on partial counter indicator  while the total must be the number of count acquired.
    Thanks again for your precious help..
    Dave
    here I posted a Vi modified 
    Attachments:
    cumulating count.vi ‏29 KB

  • I want to identify the global indices that correspond to elements of buffered arrays that are above a certain threshold

    I am logging ECG data and am wanting to compute the distance between successive heart beats online. What I need to do is identify WHEN heart spikes occur so that I can measure the time between two beats. I am using continuous buffered acquisition.

    Thanks for the response. I am having some trouble with indices. Everytime I identify a spike, I want to grab its position. To this end, I have a case structure conditioned on the identification of the spike (a simple comparison with a floating threshold). For TRUE, I write to file the index of the main while loop multiplied by the scans/iteration added to the index value of the buffered data. This works fine for the first read, but is offset increasingly on subsequent reading cycles. What am I doing wrong?

  • DataStoreException for multi-table inheritence using numeric indicator value

    I am using multi-table inheritance with Kodo 2.5.5
    Relevant kodo.properties are:
    com.solarmetric.kodo.PersistentTypes=com.letsys.erespond.business.model.netw
    ork.PowerTransformer,com.letsys.erespond.business.model.network.Device,com.l
    etsys.erespond.business.model.network.ElectricalDevice,com.letsys.erespond.b
    usiness.model.network.Switch
    javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.JDBC
    PersistenceManagerFactory
    com.solarmetric.kodo.impl.jdbc.DefaultSubclassProviderClass=com.solarmetric.
    kodo.impl.jdbc.ormapping.IntegerSubclassProvider
    I have given each of my PC classes s a numeric subclass indicator value (to
    improve join performance)
    e.g.
    <extension vendor-name="kodo" key="subclass-indicator-value" value="1">
    </extension>
    Here is my query code, the exception is at the end of the email:
    Extent e = pm.getExtent(Device.class, true);
    Query q = pm.newQuery(e, "active == p1");
    q.declareParameters("int p1");
    Collection c = (Collection)q.execute(new Integer(1));
    Iterator iter = c.iterator();
    while (iter.hasNext()) {
    Device d = (Device)iter.next();
    System.out.println("name="+d.getName());
    NOTE: The above code works if I first do a similar query, but specify the
    subclass in the pm.getExtent()
    It seems to me that the persistent classes listed in kodo.properties are not
    getting loaded.
    I also get this from debug on startup
    421 DEBUG [TestRunner-Thread] kodo.Runtime -
    [email protected]067:
    registering 1 classes: [class
    com.letsys.erespond.business.model.network.Device]
    421 DEBUG [TestRunner-Thread] kodo.MetaData - found JDO resource
    Device.jdo for com.letsys.erespond.business.model.network.Device at
    file:/C:/Dev/projectm/classes/com/letsys/erespond/business/model/network/Device.jdo
    421 INFO [TestRunner-Thread] kodo.MetaData -
    com.solarmetric.kodo.meta.JDOMetaDataParser@d12eea: parsing source:
    file:/C:/Dev/projectm/classes/com/letsys/erespond/business/model/network/Device.jdo
    I would have expected it to register all my PC classes at this stage.
    Any ideas ???
    Regards,
    Chris.
    [junit] Testcase: testInheritenceQuery took 9.747 sec
    [junit] Caused an ERROR
    [junit] com.solarmetric.kodo.runtime.DataStoreException: Type "null",
    the type registered for subclass indicatorvalue "3", is re
    ferenced in the database, but does not exist.
    [junit] NestedThrowables:
    [junit] com.solarmetric.kodo.runtime.DataStoreException: Type "3" is
    referenced in the database, but does not exist.
    [junit] com.solarmetric.kodo.runtime.FatalDataStoreException:
    com.solarmetric.kodo.runtime.DataStoreException: Type "null", the
    type registered for subclass indicatorvalue "3", is referenced in the
    database, but does not exist.
    [junit] NestedThrowables:
    [junit] com.solarmetric.kodo.runtime.DataStoreException: Type "3" is
    referenced in the database, but does not exist.
    [junit] NestedThrowables:
    [junit] com.solarmetric.kodo.runtime.DataStoreException: Type "null",
    the type registered for subclass indicatorvalue "3", is re
    ferenced in the database, but does not exist.
    [junit] NestedThrowables:
    [junit] com.solarmetric.kodo.runtime.DataStoreException: Type "3" is
    referenced in the database, but does not exist.
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.instantiateRow(LazyRes
    ultList.java:217)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.get(LazyResultList.jav
    a:142)
    [junit] at java.util.AbstractList$Itr.next(AbstractList.java:416)
    [junit] at
    com.solarmetric.kodo.runtime.objectprovider.ResultListIterator.next(ResultLi
    stIterator.java:49)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.ResultListFactory.createResultList(Re
    sultListFactory.java:82)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.executeQuery(JDBCSto
    reManager.java:1138)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.query.JDBCQuery.executeQuery(JDBCQuery.java:1
    26)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl$DatastoreQueryExecutor.executeQuery(Que
    ryImpl.java:1565)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.executeQueryWithMap(QueryImpl.java:685)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.executeWithMap(QueryImpl.java:545)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.executeWithArray(QueryImpl.java:531)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.execute(QueryImpl.java:501)
    [junit] at
    com.letsys.erespond.business.model.network.DeviceAppTest.testInheritenceQuer
    y(DeviceAppTest.java:32)
    [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
    [junit] at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
    [junit] at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
    ..java:25)
    [junit] NestedThrowablesStackTrace:
    [junit] com.solarmetric.kodo.runtime.DataStoreException: Type "null",
    the type registered for subclass indicatorvalue "3", is re
    ferenced in the database, but does not exist.
    [junit] NestedThrowables:
    [junit] com.solarmetric.kodo.runtime.DataStoreException: Type "3" is
    referenced in the database, but does not exist.
    [junit] at
    com.solarmetric.kodo.impl.jdbc.ormapping.IntegerSubclassProvider.getType(Int
    egerSubclassProvider.java:214)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.ormapping.SubclassProviderImpl.getType(Subcla
    ssProviderImpl.java:97)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.ormapping.ClassMapping.loadPrimaryMappings(Cl
    assMapping.java:1060)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.initialize(JDBCStore
    Manager.java:374)
    [junit] at
    com.solarmetric.kodo.runtime.StateManagerImpl.loadInitialState(StateManagerI
    mpl.java:215)
    [junit] at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectByIdFilter(Pers
    istenceManagerImpl.java:1278)
    [junit] at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectById(Persistenc
    eManagerImpl.java:1196)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.createFromResultSet(
    JDBCStoreManager.java:967)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager$2.getResultObject(JD
    BCStoreManager.java:1146)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.instantiateRow(LazyRes
    ultList.java:199)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.get(LazyResultList.jav
    a:142)
    [junit] at java.util.AbstractList$Itr.next(AbstractList.java:416)
    [junit] at
    com.solarmetric.kodo.runtime.objectprovider.ResultListIterator.next(ResultLi
    stIterator.java:49)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.ResultListFactory.createResultList(Re
    sultListFactory.java:82)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.executeQuery(JDBCSto
    reManager.java:1138)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.query.JDBCQuery.executeQuery(JDBCQuery.java:1
    26)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl$DatastoreQueryExecutor.executeQuery(Que
    ryImpl.java:1565)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.executeQueryWithMap(QueryImpl.java:685)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.executeWithMap(QueryImpl.java:545)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.executeWithArray(QueryImpl.java:531)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.execute(QueryImpl.java:501)
    [junit] at
    com.letsys.erespond.business.model.network.DeviceAppTest.testInheritenceQuer
    y(DeviceAppTest.java:32)
    [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
    [junit] at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
    [junit] at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
    ..java:25)
    [junit] NestedThrowablesStackTrace:
    [junit] com.solarmetric.kodo.runtime.DataStoreException: Type "3" is
    referenced in the database, but does not exist.
    [junit] at
    com.solarmetric.kodo.impl.jdbc.ormapping.IntegerSubclassProvider.getType(Int
    egerSubclassProvider.java:207)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.ormapping.SubclassProviderImpl.getType(Subcla
    ssProviderImpl.java:97)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.ormapping.ClassMapping.loadPrimaryMappings(Cl
    assMapping.java:1060)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.initialize(JDBCStore
    Manager.java:374)
    [junit] at
    com.solarmetric.kodo.runtime.StateManagerImpl.loadInitialState(StateManagerI
    mpl.java:215)
    [junit] at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectByIdFilter(Pers
    istenceManagerImpl.java:1278)
    [junit] at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectById(Persistenc
    eManagerImpl.java:1196)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.createFromResultSet(
    JDBCStoreManager.java:967)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager$2.getResultObject(JD
    BCStoreManager.java:1146)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.instantiateRow(LazyRes
    ultList.java:199)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.get(LazyResultList.jav
    a:142)
    [junit] at java.util.AbstractList$Itr.next(AbstractList.java:416)
    [junit] at
    com.solarmetric.kodo.runtime.objectprovider.ResultListIterator.next(ResultLi
    stIterator.java:49)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.ResultListFactory.createResultList(Re
    sultListFactory.java:82)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.executeQuery(JDBCSto
    reManager.java:1138)
    [junit] at
    com.solarmetric.kodo.impl.jdbc.query.JDBCQuery.executeQuery(JDBCQuery.java:1
    26)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl$DatastoreQueryExecutor.executeQuery(Que
    ryImpl.java:1565)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.executeQueryWithMap(QueryImpl.java:685)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.executeWithMap(QueryImpl.java:545)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.executeWithArray(QueryImpl.java:531)
    [junit] at
    com.solarmetric.kodo.query.QueryImpl.execute(QueryImpl.java:501)
    [junit] at
    com.letsys.erespond.business.model.network.DeviceAppTest.testInheritenceQuer
    y(DeviceAppTest.java:32)
    [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
    [junit] at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
    [junit] at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
    ..java:25)
    [junit] Testcase: testInheritenceQuery
    [junit] TEST com.letsys.erespond.business.model.network.DeviceAppTest
    FAILED

    Marc,
    All of my PC classes are in the result of the api call you suggested:
    [junit] Kodo type[0] =
    com.letsys.erespond.business.model.network.PowerTransformer
    [junit] Kodo type[1] = com.letsys.erespond.business.model.network.Device
    [junit] Kodo type[2] =
    com.letsys.erespond.business.model.network.ElectricalDevice
    [junit] Kodo type[3] = com.letsys.erespond.business.model.network.Switch
    However, when doing the query, it only seems to read the parent jdo file
    [junit] (kodo.MetaData 89 )
    com.solarmetric.kodo.meta.JDOMetaDataParser@16477d9: parsing source:
    file:C:/Dev/projectm/classes/com/letsys/erespond/business/model/network/Device.jdo
    When I do a Class.forName() on each of the classes, I see that it loads in
    all the .jdo files.
    Chris.
    "Marc Prud'hommeaux" <[email protected]> wrote in message
    news:[email protected]..
    Chris-
    Strange. It does seem like your PersistentTypes property is not being
    used at all.
    Can you try casting your pmf to a JDBCPersistenceManagerFactory and
    seeing if your types have actually been registered with:
    String[] types = pmf.getConfiguration ().getPersistentTypeNames ();
    In article <bop53p$a5u$[email protected]>, Chris McCarthy wrote:
    Hi Patrick,
    Just tried it and yes, doing a Class.forName() on the classes I insert
    does provide a work-around.
    Any idea what is causing this ?
    Regards,
    Chris.
    "Patrick Linskey" <[email protected]> wrote in message
    news:boc31n$7do$[email protected]..
    Chris,
    What happens if you do a Class.forName() (or just a class reference) to
    each of your persistent classes before executing any JDO code?
    -Patrick
    Marc Prud'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com

Maybe you are looking for