Problem with shared column mapping

I have a problem with mapping different fields onto the same column. In most cases Kodo handles it very well but one tough case it does not
Modification references contract N-1 using contract_id field
Contract back references two modifications out of all modification owned by THIS contract (last_modification and executed_modifcation)
when both modifications are not null it works fine since I make sure both fields point to modification owned by the same contract
hovewer when I set one of the fields (executed_modifcation) to null (after it was not null) Kodo attempts to set not only executed_modifcation field to null but contract_id as well. Which obviously not desired
I understand that it is a pretty hard corner case. Do you think you can handle it or it is a dead end?
Attached are my files

Abe,
I fully agree with your analysis. In my case we can use precedence of direct
mappings over reference mapping in null situation.
However as you noted, there are cases when we have only references and so
you can not say which mapping is more important. However since we are
resolving NULL issue here, I am not sure we need to know precedence of
references - not null case should always take precedence. In other words:
priority 1: direct mapping
priority 2: not null reference
priority 3: null reference
Of course all three cases are subject rule of not changing value of shared
column
"Abe White" <[email protected]> wrote in message
news:[email protected]...
I admit that I didn't go through all your metadata, but I do believe that
3.0 final will handle this case. My plan is to implement updates such
that direct field mappings always take precedence over foreign key
mappings.
Let's say column CONTRACT_ID is used by int field contractId and is
also used by field lastModification as part of an FK to a Modification
instance (which I believe is close to your mapping). Because contractId
is a simple field rather than a foreign key, Kodo will give it the final
say on nulling/defaulting the CONTRACT_ID column. So if you null the
lasetModification field, CONTRACT_ID will retain the value of the
contractId field. Any non-null value of the lastModification field will
stilly have to jive with the contractId field, though, or else we'll
throw an exception like we do currently when you try to set 1 column to
multiple values.
I believe this solves the common case of shared
columns between direct mappings and FK mappings. There are other cases
in which multiple FK mappings overlap on certain columns, and this does
not solve nulling problems in those instances. However, I think those
cases are very rare and not worth the effort. Correct me if I'm wrong
and your situation actually is one of sharing columns between multiple
FKs and no primitives after all.

Similar Messages

  • Problem with checkbox column in matrix

    Hello.
    I have a little problem with checkbox column in matrix.
    Column is binded to the UserData.
    It has ValOn="Y", ValOff="N".
    I use C++. It is wird problem. In matrix I have 10 columns - scrollbar role and if You want see checkbox column, You must role to the right. If this column is on the screen, and I use:
    checkcell->PutChecked(VARIANT_TRUE);
    then the checkbox is cheched, and if the checkbox isn`t on the screen and I use this comment - it nothing happening.
    I tried to use ValOn="Y", PutChecked...
    The problem i solved if the column is on the screen - if the column is first in matrix or second, but if it`s last I have a big problem.
    My column with checkbox is not editable, but I tried to make it editable, check it, and then make it uneditable - the same efect.
    How can I solve it ?
    Sorry for my english.
    Kamil Wydra

    Hello Kamil,
    I am not sure about your problem, but here is an example of how to use checkbox in UI API.
    First, create the matrix with checkbox column in Screen painter, and the output is an xml file, like this. Type as 121 indicates that it is a check box.
    - <column AffectsFormMode="0" backcolor="-1" description="" disp_desc="0" editable="0" right_just="0" title="Rented" type="121" uid="Rented" val_off="N" val_on="Y" visible="1" width="41">
      <databind alias="U_RENTED" databound="1" table="@VIDS" />
      <ExtendedObject />
    Second, bind the column to table from DB. This is a bug of 2004 Screen Painter, so if you are using 2005 Screen Painter, there is no problem.
    Third, when you open the form, you can check and uncheck the cell.
    BTW, please set the editable of the column to true.
    Hope this helps,
    Nick

  • Problems with external context mapping

    Hi ,
    I am having the following problems with external context mapping from one WD component to another.
    Problem description:
    In the <i>Component Interfaces</i> I have defined a WD interface "InfA".
    In the <i>interface controller</i> of this compoenent,I have ContextA and attributeA(cardinality 1..1).The contextA is marked as an "Input Element".
    Now my webdynpro componentB adds InfA as used component.In componentB I decalre a contextB with attributeB and map it to contextA to set up the external context mapping.
    Now I expect that if any webdynpro component implements this WD interface InfA ,he has access to contextA with the data getting filled from contextB.
    After i have created the component for the used component I try to fill values in the source node contextB thru this code:
    wdContext.currentContextB.setB(value);
    But in the runtime I keep getting error nullPointerException for nodeContextB,suggesting that the mapping has not been completed.
    Can anyone suggest due to what the error can come ,and, if its a webdynpro bug ,is there a workaround??
    Thanks in advance for your help.
    Best regards
    Sourav

    HI,
    Valery : I personally checked  by doing the example, if the names of value attribute are different in the child's interface and parents component controller then it throws the exception.
    Sourav: NullPointer Exception is thrown when something is not properly initialised, if in the main component the cardinality of mapped origin is 1.1 then you need to access it element directly like:
    wdContext.currentParentNodeElement().setFname("Abhijeet");
        wdContext.currentParentNodeElement().setLname("M");
    i will suggest just check out if you are declaring some element of value node and without initialising taking its use or what?
    if this doesnt solve your problem, please post the expanded exception.
    hope it helps
    let me know if you face nay problem
    regards

  • Problem with castor xml mapping

    Hi,
    we have following problem with castor xml mapping.
    How to use references in the collections(Hashmap or vector)?
    WE have a method called getAttribute map which will return a hashmap consist different type of objects. We want to keep only the
    references of objects if that object occurs more than once,instead of keeping the whole object
    Following is the the xml mapping file.
    <mapping>
    <class name="com.opvista.ndtool.core.mos.ManagedObject" identity="Id" auto-complete="false" verify-constructable="false">
    <map-to xml="ManagedObject"/>
    <field name="Id" get-method="getId" set-method="setId" type="string">
    <bind-xml name="Id" node="attribute"/>
    </field>
    <field name="AttributeMap" type="org.exolab.castor.mapping.MapItem" collection="map" get-method="getAttributeMap">
    <bind-xml name="AttributeMap" node="element">
         <class name="org.exolab.castor.mapping.MapItem">
    <field name="key" type="java.lang.Object">
         <bind-xml name="key" node="attribute"/>
    </field>
    <field name="value" type="java.lang.Object">
         <bind-xml name="value" node="element" reference="true"/>
         </field>
    </class>
         </bind-xml>
    </field>
    </class>
    </mapping>
    we are using reference=true for the values. But it will throw below exception.
    Unable to resolve ID for instance of class 'java.lang.String' due to the following error: Unable to resolve ClassDescriptor.
         at org.exolab.castor.xml.Marshaller.getObjectID(Marshaller.java:1988)
         at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:1628)
         at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:1831)
         at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:1814)
         at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:1825)
         at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:821)
    Please help us to overcome from this problem?
    Thanks,
    Dileep

    for your ref here is what i think the basic mapping file would look like
    <class name="Person">
    <map-to xml="person"/>
    <field name="name" type="string">
    <bind-xml name="name" node="attribute" />
    </field>
    <field name="age" type="string">
    <bind-xml name="age" node="attribute" />
    </field>
    </class>
    <class name="MetaPerson">
    <map-to xml="person"/>
    <field name="dependents" type="string">
    <bind-xml name="dependents" node="attribute" />
    </field>
    <field name="presentAdd" type="string">
    <bind-xml name="present_add " node="attribute" />
    </field>
    <field name="permanentAdd" type="string">
    <bind-xml name="permanent_add " node="attribute" />
    </field>
    </class>
    however i am still not clear as to how i can use the metaperson object in the person class as well as in the mapping file.
    hope this gives a better idea abt my problem statement.
    Please help me out

  • Problems with Java DOM Mapping

    Hi Experts,
    as part of my diploma-thesis I have to write a java DOM-Mapping, which mapps the following incoming message:
    <mt_MappingOUT>
    <set>
    <set_Element_01>...</set_Element_01>
    <set_Element_02>... </set_Element_02>
    <set_Element_03>... </set_Element_02>
    <set_Element_10>  </set_Element_10>
    </set>
    </mt_MappingOUT>
    to the following outgoinig message:
    <mt_MappingIN>
    <TABLE>
    <item>
    <item_FIELD_01>  </item_FIELD_01>
    <item_FIELD_10>  <item_FIELD_10>
    <i/tem>
    </TABLE>
    </mt_MappingIN>
    I am not a very experienced Java-Developer. You can see my code down there, which I tried to implement according to some bloggs; unfortunately the result is not what I want to have
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Map;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import org.w3c.dom.Text;
    import org.xml.sax.SAXException;
    import com.sap.aii.mapping.api.StreamTransformation;
    import com.sap.aii.mapping.api.StreamTransformationException;
    public class DOMMAPPING implements StreamTransformation{
         public static void main(String[] args) throws Exception
              try
                   FileInputStream fin =
                        new FileInputStream("C:/mt_MappingOut.xml");
                   FileOutputStream fout =
                        new FileOutputStream("C:/target.xml");
                   DOMMAPPING mapping = new DOMMAPPING();
                   mapping.execute(fin, fout);
              catch (Exception e)          {
                   e.printStackTrace();
    public void setParameter (Map param) {}
    public void execute (InputStream in, OutputStream out)
         throws com.sap.aii.mapping.api.StreamTransformationException {
              DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
              Document documentIn = null;
              DocumentBuilder builder = null;
              try {
                        builder = factory.newDocumentBuilder();
                   } catch (ParserConfigurationException e1) {
                        e1.printStackTrace();
              try {
                   Element itemNode = null;
                   NodeList[] list_f=new NodeList[10];
                   Element[] field=new Element[10];
                   documentIn = builder.parse(in);
                   Document documentOut = builder.newDocument();
                   Element rootNode = documentOut.createElementNS("urn:agrp:xi:geissseb","ns0:mt_MappingIn");
                   documentOut.appendChild(rootNode);
                   Element tableNode = documentOut.createElement("TABLE");
                   rootNode.appendChild(tableNode);
                   NodeList list_Set=documentIn.getElementsByTagName("set");
                   System.out.println(list_Set.getLength());
                   for(int j=1;j<10;j++){
                        list_f[j-1]=documentIn.getElementsByTagName("set_ELEMENT_01"+j);
                list_f[9]=documentIn.getElementsByTagName("set_ELEMENT_10");
                   //NodeList list_f01=documentIn.getElementsByTagName("f01");
                   for (int i=0;i<list_Set.getLength();i++)
                        itemNode=documentOut.createElement("item");
                        tableNode.appendChild(itemNode);
                        for(int k=0; k<10;k++){
                             Node f=list_f[k].item(i);
                             f=f.getFirstChild();
                             String str_f=f.getNodeValue();
                             Text text_f=documentOut.createTextNode(str_f);
                             field[k]=documentOut.createElement("item_FIELD_"(k1));
                             field[k].appendChild(text_f);
                             itemNode.appendChild(field[k]);
                   TransformerFactory tf = TransformerFactory.newInstance();
                   Transformer transform = tf.newTransformer();
                   transform.transform(new DOMSource(documentOut), new StreamResult(out));
                   } catch (SAXException e2) {
                        e2.printStackTrace();
                   } catch (IOException e2) {
                        e2.printStackTrace();
                   }catch (Throwable t) { throw new StreamTransformationException("error", t); }
    Unfortunately there seems to be at least one error in there because the result I get is just the following:
      <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
    - <ns0:mt_MappingIn xmlns:ns0="urn:agrp:xi:geissseb">
      <TABLE />
      </ns0:mt_MappingIn>
    Below you will find my source message:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <xsd:schema targetNamespace="urn:agrp:xi:geissseb" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:agrp:xi:geissseb">
      <xsd:element name="mt_MappingOut" type="dt_MappingOut" />
    - <xsd:complexType name="dt_MappingOut">
    - <xsd:annotation>
      <xsd:appinfo source="http://sap.com/xi/TextID">a7a28830bebf11dc81aa001a4b0af224</xsd:appinfo>
      </xsd:annotation>
    - <xsd:sequence>
    - <xsd:element name="Set">
    - <xsd:annotation>
      <xsd:appinfo source="http://sap.com/xi/TextID">0b366510aeda11dcb3bb00174205b856</xsd:appinfo>
      </xsd:annotation>
    - <xsd:complexType>
    - <xsd:sequence>
    - <xsd:element name="f01" type="xsd:string">
    - <xsd:annotation>
      <xsd:appinfo source="http://sap.com/xi/TextID">0b366511aeda11dcaf2600174205b856</xsd:appinfo>
      </xsd:annotation>
      </xsd:element>
    - <xsd:element name="set_ELEMENT_02" type="xsd:string">
    - <xsd:annotation>
      <xsd:appinfo source="http://sap.com/xi/TextID">0b366512aeda11dc84d400174205b856</xsd:appinfo>
      </xsd:annotation>
      </xsd:element>
    - <xsd:element name="set_ELEMENT_03" type="xsd:string">
    - <xsd:annotation>
      <xsd:appinfo source="http://sap.com/xi/TextID">0b366513aeda11dcbcab00174205b856</xsd:appinfo>
      </xsd:annotation>
      </xsd:element>
    - <xsd:element name="set_ELEMENT_04" type="xsd:string">
    - <xsd:annotation>
      <xsd:appinfo source="http://sap.com/xi/TextID">0b366514aeda11dc96a300174205b856</xsd:appinfo>
      </xsd:annotation>
      </xsd:element>
    - <xsd:element name="set_ELEMENT_05" type="xsd:string">
    - <xsd:annotation>
      <xsd:appinfo source="http://sap.com/xi/TextID">0b366515aeda11dca77700174205b856</xsd:appinfo>
      </xsd:annotation>
      </xsd:element>
    - <xsd:element name="set_ELEMENT_06" type="xsd:string">
    - <xsd:annotation>
      <xsd:appinfo source="http://sap.com/xi/TextID">0b366516aeda11dc8f7d00174205b856</xsd:appinfo>
      </xsd:annotation>
      </xsd:element>
    - <xsd:element name="set_ELEMENT_07" type="xsd:string">
    - <xsd:annotation>
      <xsd:appinfo source="http://sap.com/xi/TextID">0b366517aeda11dcc24b00174205b856</xsd:appinfo>
      </xsd:annotation>
      </xsd:element>
    - <xsd:element name="set_ELEMENT_08" type="xsd:string">
    - <xsd:annotation>
      <xsd:appinfo source="http://sap.com/xi/TextID">0b366518aeda11dc92cd00174205b856</xsd:appinfo>
      </xsd:annotation>
      </xsd:element>
    - <xsd:element name="set_ELEMENT_09" type="xsd:string">
    - <xsd:annotation>
      <xsd:appinfo source="http://sap.com/xi/TextID">0b366519aeda11dcc9b100174205b856</xsd:appinfo>
      </xsd:annotation>
      </xsd:element>
    - <xsd:element name="set_ELEMENT_10" type="xsd:string">
    - <xsd:annotation>
      <xsd:appinfo source="http://sap.com/xi/TextID">0b36651aaeda11dcc5a700174205b856</xsd:appinfo>
      </xsd:annotation>
      </xsd:element>
      </xsd:sequence>
      </xsd:complexType>
      </xsd:element>
      </xsd:sequence>
      </xsd:complexType>
      </xsd:schema>
    When I had problems withe Java SAX Mapping, I got great hints in the forum. So I hope you can help me out again...
    Cheers Sebastian

    Here you go.
    Code
    package com.sap.test;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Map;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    import org.apache.crimson.tree.TextNode;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import org.w3c.dom.Text;
    import org.xml.sax.SAXException;
    import com.sap.aii.mapping.api.StreamTransformationException;
    public class DomTest {
         Document documentOut = null;
         public static void main(String[] args) throws Exception
         try
         FileInputStream fin =      new FileInputStream("test.xml");
         FileOutputStream fout = new FileOutputStream("test_out.xml");
         DomTest mapping = new DomTest();
         mapping.execute(fin, fout);
         catch (Exception e) {
         e.printStackTrace();
         public void setParameter (Map param) {}
         public void execute (InputStream in, OutputStream out)
         throws com.sap.aii.mapping.api.StreamTransformationException {
         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
         Document documentIn = null;
         DocumentBuilder builder = null;
         try {
         builder = factory.newDocumentBuilder();
         } catch (ParserConfigurationException e1) {
         e1.printStackTrace();
         try {
         Element itemNode = null;
         //NodeList[] list_f=new NodeList10;
         //Element[] field=new Element10;
         documentIn = builder.parse(in);
         documentOut = builder.newDocument();
         Element rootNode = documentOut.createElementNS("urn:agrp:xi:geissseb","ns0:mt_MappingIn");
         rootNode.setAttribute("xmlns:ns0", "urn:agrp:xi:geissseb");
         documentOut.appendChild(rootNode);
         Element tableNode = documentOut.createElement("TABLE");
         rootNode.appendChild(tableNode);
         NodeList list_Set = documentIn.getElementsByTagName("set");
         System.out.println(list_Set.getLength());
         for(int j = 0 ; j < list_Set.getLength() ;j++){
              Element setNode = (Element)list_Set.item(j);
              NodeList children = setNode.getChildNodes();
              for(int index = 0; index < children.getLength(); index++)
                   Node child = children.item(index);
                   if (child instanceof Element) {
                        Element element = (Element) child;
                        if(element.getNodeName().startsWith("set_ELEMENT"))
                             createItemFeildNode(tableNode,element);
         //list_f[9]=documentIn.getElementsByTagName("set_ELEMENT_10");
    //     NodeList list_f01=documentIn.getElementsByTagName("f01");
         /*for (int i=0;i<list_Set.getLength();i++)
         itemNode=documentOut.createElement("item");
         tableNode.appendChild(itemNode);
         for(int k=0; k<10;k++){
         Node f=list_f[k].item(i);
         f=f.getFirstChild();
         String str_f=f.getNodeValue();
         Text text_f=documentOut.createTextNode(str_f);
         field[k]=documentOut.createElement("item_FIELD_"(k1));
         field[k].appendChild(text_f);
         itemNode.appendChild(field[k]);
         TransformerFactory tf = TransformerFactory.newInstance();
         Transformer transform = tf.newTransformer();
         transform.transform(new DOMSource(documentOut), new StreamResult(out));
         transform.transform(new DOMSource(documentOut), new StreamResult(System.out));
         } catch (SAXException e2) {
         e2.printStackTrace();
         } catch (IOException e2) {
         e2.printStackTrace();
         }catch (Throwable t) { throw new StreamTransformationException("error", t); }
         private void createItemFeildNode(Element root, Element element) {
              String inName = element.getNodeName();
              int temp = inName.lastIndexOf('_');
              if (temp == -1)
                   return;
              String index = inName.substring(temp+1);
              String nodeName = "Item_FIELD_" + index;
              String nodeVal = element.getFirstChild().getNodeValue();
              Element newElement = documentOut.createElement(nodeName);
              Text txtNode = documentOut.createTextNode(nodeVal);
              newElement.appendChild(txtNode);
              root.appendChild(newElement);          
    Input
    <?xml version="1.0" encoding="UTF-8" ?>
    <mt_MappingOut xmlns="urn:agrp:xi:geissseb" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:agrp:xi:geissseb file:/D:/Eclipse/workspace/SDN/test.xsd">
    <set xmlns="">
      <set_ELEMENT_01>E1</set_ELEMENT_01>
      <set_ELEMENT_02>E2</set_ELEMENT_02>
      <set_ELEMENT_03>E3</set_ELEMENT_03>
      <set_ELEMENT_04>E4</set_ELEMENT_04>
      <set_ELEMENT_05>E5</set_ELEMENT_05>
      <set_ELEMENT_06>E6</set_ELEMENT_06>
      <set_ELEMENT_07>E7</set_ELEMENT_07>
      <set_ELEMENT_08>E8</set_ELEMENT_08>
      <set_ELEMENT_09>E9</set_ELEMENT_09>
      <set_ELEMENT_10>E10</set_ELEMENT_10>
      </set>
      </mt_MappingOut>
    Output
    <?xml version="1.0" encoding="UTF-8" ?>
    <ns0:mt_MappingIn xmlns:ns0="urn:agrp:xi:geissseb">
    <TABLE>
      <Item_FIELD_01>E1</Item_FIELD_01>
      <Item_FIELD_02>E2</Item_FIELD_02>
      <Item_FIELD_03>E3</Item_FIELD_03>
      <Item_FIELD_04>E4</Item_FIELD_04>
      <Item_FIELD_05>E5</Item_FIELD_05>
      <Item_FIELD_06>E6</Item_FIELD_06>
      <Item_FIELD_07>E7</Item_FIELD_07>
      <Item_FIELD_08>E8</Item_FIELD_08>
      <Item_FIELD_09>E9</Item_FIELD_09>
      <Item_FIELD_10>E10</Item_FIELD_10>
      </TABLE>
      </ns0:mt_MappingIn>

  • WebRowSet Problem  with database columns defined as TEXT??

    Hello,
    Can somebody help me on this subject. (http://forum.java.sun.com/thread.jspa?forumID=31&threadID=778586)
    I have the same problem with TEXT column when I try to populate the WebRowset.
    Thanks,
    Stephane

    OK,
    I change my postgresql driver for the lastest version (postgresql-8.2-506.jdbc3.jar) for JVM 1.5 and it's find...
    This driver support the javax.sql.
    St�phane
    Edited by: Borealis on Oct 15, 2007 12:43 PM

  • My host name changes every few days, since Xmas adding a macbook its changed 6 times. Do I need to stop this? Does it cause problems with sharing between the iMac and macbook?

    my host name changes every few days, since Xmas adding a macbook its changed 6 times. Do I need to stop this? Does it cause problems with sharing between the iMac and macbook?

    There are several possible causes for this problem.
    1. Two (or more) computers on the local network have the same Bonjour name, such as "X's-MacBook-Pro.local".
    2. You have two simultaneous connections to the same local network: probably Ethernet and Wi-Fi. If applicable, disconnect the Ethernet cable or turn off Wi-Fi.
    3. A Mac wakes from sleep due to network traffic. This is due to a bug in OS X that may only affect some models.
    4. A device that gets its network address from the router wakes from sleep, and the address it was using before has been assigned to another device.
    5. A third-party wireless router has incompatible settings or firmware. In that case, refer to the manufacturer or ISP for support. Restarting the router may help, temporarily.
    6. See also this support article.
    Rename the computer in the Sharing preference pane.

  • TPC 2012 - Problems with shared variable

    Hi,
    I tried to program simmilar thing to this one http://zone.ni.com/devzone/cda/tut/p/id/5548 on TPC 2012. But it doesn't work.I can see that both programs on my laptop and TPC are working(I've added an additional counter with display), but I cannot see any effect on TPC when I change the value of shared variable on my laptop. I use LabView 8.6 with Touch Panel Module. My question is what are the exact steps to run such application on TPC2012? Are they the same as for TPC 2006?
    I've noticed following issues:
    1.I cannot deploy the program from Project Manager(there is an information that maybe TPC Service is not started. - I've found such information about TPC Service http://digital.ni.com/public.nsf/allkb/DE177828D27A14A48625734E00768B66 but in fact I cannot find Start » All Programs»National Instruments » NI TPC Service » NI TPC Service Manager 1.0 Does it mean, that the TPC Service is not installed and the programm with shared varibles won't be working or can I start it somehow in another way? Do I need to have TPC service installed on TPC2012?
    Until now, I've built the project and sent it through FTP to TPC(the folder was /TEMP) and then started it.
    2.Ping works OK
    Thank you in advance for any hints how to solve this problem.
    Martin

    Well no problem, but I'm frustrated with this issue... I've tested many things and nothing. Just to help someone else as I in the future, these are my sources:
    http://forums.ni.com/t5/LabVIEW/TPC-2012-Problems-with-shared-variable/m-p/1009631/highlight/false#M...
    http://digital.ni.com/public.nsf/allkb/28536DE7E2D9E98B8625770B00738920?OpenDocument
    http://zone.ni.com/reference/en-XX/help/372507B-01/lvtpcgsm/tpc_install_sharvar/
    http://zone.ni.com/reference/en-XX/help/372507C-01/lvtpcgsm/tpc_install_sharvar/
    http://digital.ni.com/public.nsf/allkb/23532363F4905EC28625727A00730B80?OpenDocument
    http://forums.ni.com/t5/FieldPoint-Family/TPC-2006-Not-Listed-in-Targets-and-Devices/td-p/566325
    http://forums.ni.com/t5/LabVIEW/MAX-can-t-detect-TPC-2106T/td-p/831524
    http://zone.ni.com/devzone/cda/tut/p/id/5868
    http://digital.ni.com/public.nsf/websearch/28B748B9697B79E18625725A00009066?OpenDocument
    http://digital.ni.com/public.nsf/websearch/D1726990DCEB82E4862570F20069C57D?OpenDocument
    http://digital.ni.com/public.nsf/allkb/3B469103BBDD4CE48625726000665B36
    I hope find some hint..
    Fabian León
    Certified LabVIEW Associate Developer

  • Problem with shared objects synchoronization.

    I encountered a small problem with shared objects.
    I'm working on a program that creates chat rooms of a fixed
    size of 30 users. When the 31th user comes, a new room is created.
    The idea is that the client first connects to the first room
    and checks if it's full by connecting to shared objects. If it is
    full, connection is closed and process is reapeated on a new
    instance of the application.
    I use a function to connect to an instance, which takes as a
    parameter a number (1 for instance room_1, 2 for room_2, etc). The
    function itself creates the necessary Netconnection and
    sharedObject objects.
    If a room is full, Netconnections and sharedObjects are
    closed and function is called again with another number.
    I have no problem for connecting to the first room, but after
    closing the first connection and connecting to the new room, there
    seem to be some problems with the shared objects (especially,
    OnSync doesn't seem to execute again after the connection to the
    shared objects of the new instance).
    I was wondering if you had any ideas what could cause this.
    Is it the use of the same variable names for connecting at two
    different shared objects?
    Here is the function :
    function initStreams(room) {
    client_nc = new NetConnection();
    client_nc.connect("rtmp://192.168.0.4/Elearning/room_"+room);
    in_ns = new NetStream(client_nc);
    in_ns2 = new NetStream(client_nc);
    Replay_video.attachVideo(in_ns);
    out_ns = new NetStream(client_nc);
    out_ns2 = new NetStream(client_nc);
    in_ns.play("my_recorded_stream");
    users_name = SharedObject.getRemote("users_name",
    _root.client_nc.uri, false);
    users_name.connect(_root.client_nc);
    users_language = SharedObject.getRemote("users_language",
    _root.client_nc.uri, false);
    users_language.connect(_root.client_nc);
    users_picture = SharedObject.getRemote("users_picture",
    _root.client_nc.uri, false);
    users_picture.connect(_root.client_nc);
    users_finger = SharedObject.getRemote("users_finger",
    _root.client_nc.uri, false);
    users_finger.connect(_root.client_nc);
    I you need more info, I can post more of the code on the
    forum.
    Any help would be really appreciated

    I don't see any onStatus events in the code you posted above.
    If you're defining the onstatus event outside the function, that's
    the problem. When you define the shared object, you also need to
    define it's onStatus event handler.
    Also, you really should wait for the onStatus event of the
    netConnection before you connect your sharedObjects. If you try to
    connect the SO before the netConnection is established, the SO will
    never connect.

  • Problems with EJB relationship mapping (annotations)

    So, I'm part of a group working on a web-based project management system, and we're having some trouble with the relationship mapping between the entity beans.
    I've been mainly working on a class called WorkPackage. So the mappings I've got:
    Within the WorkPackage class
    (A work package is one "module" of work within a project)
            @Entity
            @Table(name="WorkPackage")
            @IdClass(WorkPackagePK.class)
            public class WorkPackage implements java.io.Serializable
            @Id
            @Column(name="wpID")
            public String getWpID() { return wpID; }
         public void setWpID(String id) { this.wpID = id; }
         @Id
            @Column(name="projID")
            public String getProjId() { return projId; }
         public void setProjId(String projId) { this.projId = projId; }
            @ManyToOne // bidirectional - owner side
         @JoinColumn(name="projID")
         public Project getProject() { return project; }
         public void setProject(Project project) { this.project = project; }      And on the Project side
            @Entity
            @Table(name="Project")
            public class Project implements java.io.Serializable
            @Id
            @Column(name="projID")
            public String getId() { return id; }
         public void setId(String id) { this.id = id; }
           @OneToMany(mappedBy="project") // biderctional - target side
         public Set<WorkPackage> getWorkPackages() { return workPackages; }
         public void setWorkPackages(Set<WorkPackage> workPackages) { this.workPackages = workPackages; } The problem here is that its apparently seeing 'projID' as attempting to be mapped to 2 columns within the 'workpackage' table in the database instead of using the @Id one as the id, and the other as the foreign key to the 'project' table.
    So, when I try to add a workpackage to the database via a JSF page, it gives me the error 'java.sql.BatchUpdateException: Column 'projID' specified twice'.
    Maybe its something to do with variable in the project class being called 'id' even though its mapped to the database column 'projID'
    Edited by: wormdundee on Mar 1, 2008 2:26 PM

    I think the trouble is that you overrode the column names for the projID and project properties to the same value. Try
    @Entity
            @Table(name="WorkPackage")
            @IdClass(WorkPackagePK.class)
            public class WorkPackage implements java.io.Serializable
            @Id
            @Column(name="WP_WP_ID")
            public String getWpID() { return wpID; }
         public void setWpID(String id) { this.wpID = id; }
         @Id
            @Column(name="WP_PROJ_ID")
            public String getProjId() { return projId; }
         public void setProjId(String projId) { this.projId = projId; }
            @ManyToOne // bidirectional - owner side
         @JoinColumn(name="WP_PROJECT_PROJ_ID")
         public Project getProject() { return project; }
         public void setProject(Project project) { this.project = project; }

  • Problem with list and map in GWT

    I have a problem with map and list in GWT. I need to put a map in to a list but GWT does not support ArrayList and HashMap since they are not serialized types.
    Exactly I want to create following list with out using ArrayList and HashMap
    ArrayList<HashMap<String, Object>> map = new ArrayList<HashMap<String,Object>>(); Thank you for new ideas,
    Regards

    If try to use ArrayList then I receive following exception when I make a rpc call.
    Caused by: com.google.gwt.user.client.rpc.SerializationException: Type 'java.util.ArrayList' was not included in the set of types which can be serialized by this SerializationPolicy or its Class object could not be loaded. For security purposes, this type will not be serialized.:

  • Problem with Stacked Columns in Business Graphics

    Hi,
    Has anyone used the stacked columns chart type in business graphics?  Am facing a problem with this.
    I am using the SimpleGraphics example demo with 2 dataseries, the values ranging from 0-10.  It works fine if the chart type is Columns (this is default).  When I change the chart type to stacked_columns, the graph goes for a toss.  The y-axis range automatically changes to 0-1 (values as 0, 0.2, 0.4 ... 1.0) and it does not display stacked columns as expected.
    Is there any specific property(s) that need to be set for this chart type?
    Appreciate any quick response.
    cheers,
    Vittal

    Hi friend,
    See the link below it is having the solution of hiding the columns in smart forms
    Hide table columns in smart form?
    Create a table to display your values with 12 col and hide the columns based on the idea provided in the link above.
    I think this will solve your issue if you still have queries please revert back to me i will help you.
    Thanks,
    Sri Hari

  • Problem with dynamic columns in smartforms.

    Dear SDN Experts,
    I have a requirement in smartforms for dynamic columns.
    i have used template with 10 columns, So from these 10 columns,Columns may vary monthly MIN 2 to MAX 10 depending on
    readings with them  for that month.
    i cannot fix column headings also,Because headings also changes dynamically.
    So Problem is if there is no data in columns,Columns is displayng empty.
    For EX: In this month i have 2 columns data remaining all columns is displaying empty boxes.
    Please suggest me a solution  is this posible in smartforms if i use table also.
    <removed by moderator>
    Regrds,
    MNR
    Edited by: Thomas Zloch on Sep 11, 2011 3:50 PM

    Hi friend,
    See the link below it is having the solution of hiding the columns in smart forms
    Hide table columns in smart form?
    Create a table to display your values with 12 col and hide the columns based on the idea provided in the link above.
    I think this will solve your issue if you still have queries please revert back to me i will help you.
    Thanks,
    Sri Hari

  • Problem with Context in mapping

    Hi.
    I  have a big problem with my mapping.
    My input look like this.:
    - <Rec>
    - <raw>
      <Rec_type>B</Rec_type>
      <Record_data>0000340H150000006269 N2007020105070000727001000009000540006599350000000000</Record_data>
      </raw>
    - <raw>
      <Rec_type>C</Rec_type>
      <Record_data>0000350H1500000062690000107074030000610000000060800000004910001080 80620000727001</Record_data>
      </raw>
    - <raw>
      <Rec_type>D</Rec_type>
      <Record_data>0000360H15000000626900001070740000107079030000610000000060800000004920000000727001</Record_data>
      </raw>
    - <raw>
      <Rec_type>D</Rec_type>
      <Record_data>0000370H15000000626900001070740000107432030000000000000000000000000000000000727001</Record_data>
      </raw>
    - <raw>
      <Rec_type>C</Rec_type>
      <Record_data>0000380H1500000062690000115008010004995000000499900000041630001610 83470000727001</Record_data>
      </raw>
    - <raw>
      <Rec_type>C</Rec_type>
      <Record_data>0000390H1500000062690000115008050003997000000400300000033320001660 83470000727001</Record_data>
      </raw>
    - <raw>
      <Rec_type>C</Rec_type>
      <Record_data>0000400H1500000062690000115008030002996000000300000000024980001640 83470000727002</Record_data>
      </raw>
    - <raw>
      <Rec_type>C</Rec_type>
      <Record_data>0000410H1500000062690000115008040003995000000399900000033300001630 83470000727002</Record_data>
      </raw>
    - <raw>
      <Rec_type>C</Rec_type>
      <Record_data>0000420H1500000062690000115483010004850000000480100000040250000300 83110000727002</Record_data>
      </raw>
    - <raw>
      <Rec_type>D</Rec_type>
      <Record_data>0000430H15000000626900001154830000107432010000000000000000000000000000000000727002</Record_data>
      </raw>
    - <raw>
      <Rec_type>D</Rec_type>
      <Record_data>0000440H15000000626900001154830000107079010001453000000144000000011710000000727002</Record_data>
      </raw>
    - <raw>
      <Rec_type>D</Rec_type>
      <Record_data>0000450H15000000626900001154830000115124010003397000000336100000028590000000727002</Record_data>
      </raw>
    - <raw>
      <Rec_type>C</Rec_type>
      <Record_data>0000460H1500000062690000115502020004012000000399900000029470001240 73570000727001</Record_data>
      </raw>
    My target is an iDoc with this structure.:
    IDOC
    - E1OILT1
    - -   xxxx
    - -   xxxx
    - -   E1OILT2
    - -   E1OILT2
    - -   E1OILT2
    - -   E1OILT3
    - -   E1OILT3
    For each B-record I'm going to produce an iDoc.
    My problem is that all "C"-records shall into the first E1OILT3-segment and
    all "D"-records shall into the second E1OILT3-segment.
    It works well with the C-record but not with the D-records.
    D is depend on C, but C dont need to have a D-record.
    C could also have several D-records.
    Don't know if I explained this good enough but i hope  someone could give me an hint whats wrong with my context.
    Thanks

    then i think you need to write some JAVA code to do this.
    Create a User-Defined Function.
    and start using some of the ResultList Methods.
    check the blogs to how to do this.
    it will take you some time beacuse you need to understand the concept of Context if you don't know already.
    there is some methods like "addValue" that create a new Value.
    Regards,
    Roi Grosfeld

  • Solution to the "Disappearing Comments" problem with shared reviews

    I've been having repeated problems with users losing their comments on shared reviews, hosted on my webDAV server. After tearing my hair out for days, I wanted to share the simple fix to this issue, plus another tip:
    DON'T USE PERIODS OR SPACES IN FILE NAMES. Use hyphens and underscores instead.
    Illegal characters seem to gradually corrupt the file to the point where potentially every comment can get overwritten with a blank .xml file, permanently losing all your comments.
    My wish to Adobe is that they would put a pop-up warning at the time of saving a file for shared reviews, something to the effect of:
    "WARNING! saving a shared file with a space or a period could result in data corruption when shared over network drives or webDAV. Do you want to replace illegal characters with underscores?"
    My other tip is this:
    If using a webDAV server as I am, be sure to use the IP address rather than the domain name when specifying the location of the server.

    With all the issues you describe, I would search for something conflicting with Mountain Lion.
    Have you booted into Safe Mode and checked to see if it works correctly there? It will take a while to boot, and it will run a bit slow, so just look for the issues you described above. If they don't appear, you've got something installed that is causing the issues.

Maybe you are looking for

  • After upgrading, my MP4 vacation videos will no longer play.???

    Just upgraded my old Leopard to Snow Leopard and quickly noticed that it takes 10-20 times longer to load some web pages, if they load at all. Also, I've had to switch to using Firefox to pay one of my credit card bills for this reason. And now I hav

  • I want to upgrade my hard-drive in  2010 model MacBook Pro 13

    I would like to increase the hard drive size on my 13" Macbook Pro from 250 GB to 500 or 750 GB. Amazon carries the WD5000BEVT and the WD7500BPVT drives. Reading various comments about them, I'm concerned about how quiet and efficient they are in a M

  • Connect iphone to appletv, connect iphone to Apple  TV

    How would i go about connecting my iphone 5 to apple tv - we use apple tv to connect our ipad at work to our music system and it has the icon on the computer and ipad but dont see it on the phone - any help would be appreciated!

  • How to flag Mail Messages in iOS5?

    My Mail messages in iOS5 don't reflect the flagged status in mail. Trying to flag them on the iPhone's Mail clinet by selecing "edit" should (apparently) offer me a choice to delete, mark (as unread/read) or Flag. I just get a choice of Mark or Delet

  • Cannot save GP object

    Hi all, I want to change the Permission for a Block in the GP. However, when I have changed one of the principal's permission say from "read" to "initiate" and click save, I encountered the following error: Cannot save object: com.sap.security.core.a