Java 2 C Code Generation

Hi ng,
I'm searching tools, documents, tutorials for Conversion of Java Code (or UML diagrams) to ANSI C Code.
I've found somethin on google about conversion from Oberon to C (searching for oo2c) and there are tools like OO>c from Method Park or Gentleware for Embedded Systems.
But, are there any freeware tools available? Sourceforge.net is down at current and I couldn't find anything on java.sun.com.
How would you do it?
Thanks a lot
asbager

Yes sure,
there's hardly a converter that can map the whole Java functionality to C programs.
The reason why I'm looking for such a converter is:
I try to do some simulations with a simulator that requires the application in C.
And it would surely be easier to do the whole programming in C but I'd like to model the system before implementing it and i want to use object-oriented principles when modeling (and I prefer generating sources automatically than coding them manually).
In the end it would be enough to have tool that constructs all the structs and the method tables so that I only have to do the implementation of the methods.
Thanks for your replies.

Similar Messages

  • APT and Java source code generation

    Hi all,
    In many articles about APT tool, I read that it is possible to generate Java source code from annotations read by AnnotationProcessorFactory.
    I am very interesting by this possibility but I can't find an exemple (all exemples I found display informations only).
    Where can I find a concrete exemple of this functionnality ?
    Thanks
    Micka�l

    Micka�l
    I have a project on java.net that has several examples of code generation.
    Go to the project source code here.
    https://rapt.dev.java.net/source/browse/rapt/
    The ones here are quite simple
    https://rapt.dev.java.net/source/browse/rapt/src/net/java/dev/rapt/proposed/generators/
    and these packages are more complex
    https://rapt.dev.java.net/source/browse/rapt/src/net/java/dev/rapt/exploratory/#dirlist
    Check out the javadoc to see how they should be used.
    One pointer is, work out exactly what you want to generate first. Then code an example by hand, then make sure it compiles and does what you want it to do. That way you know exactly what you need to generate. It is much quicker to fix compiler and functional errors in your hand coded example, than to change the generator, recompile that, then run it to generate and compile the code.
    If you do find errors in your generated code, tweak the generated code by hand till it works, then go back and change the generator to do the right thing.
    A second point is: generate nicely formatted code, indented etc, then when it doesn't work, or doesn't even compile, you can at least read the generated code to debug it.
    Bruce

  • Generic oracle eway code generation error in Java caps 5.1.3

    Hi,
    I'm using an oracle eway for adding records to a table. I have a prepared statement in the otd. When I try to build the project I'm getting the following error. Could any one let me know how this problem can be fixed?
    com.stc.codegen.framework.model.CodeGenException: Generic Oracle eway code generation error(ERROR_CODEGEN_GENERIC_CODELET_GENERAL)
         at com.stc.oracle.codegen.OracleEWayCodeletFactory$OracleEWayCodelet.generateFiles(OracleEWayCodeletFactory.java:1860)
         at com.stc.codegen.frameworkImpl.model.CodeGenFrameworkImpl.processCodelets(CodeGenFrameworkImpl.java:640)
         at com.stc.codegen.frameworkImpl.model.CodeGenFrameworkImpl.process(CodeGenFrameworkImpl.java:1544)
         at com.stc.codegen.frameworkImpl.model.DeploymentVisitorImpl.process(DeploymentVisitorImpl.java:405)
         at com.stc.codegen.frameworkImpl.model.DeploymentVisitorImpl.process(DeploymentVisitorImpl.java:308)
         at com.stc.codegen.frameworkImpl.model.DeploymentVisitorImpl.traverseDeployment(DeploymentVisitorImpl.java:268)
         at com.stc.codegen.driver.module.DeploymentBuildAction.loadCodeGen(DeploymentBuildAction.java:923)
         at com.stc.codegen.driver.module.DeploymentBuildAction.access$1000(DeploymentBuildAction.java:174)
         at com.stc.codegen.driver.module.DeploymentBuildAction$1.run(DeploymentBuildAction.java:599)
         at org.openide.util.Task.run(Task.java:136)
         at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:599)
    Caused by: com.stc.codegen.framework.model.CodeGenException: Exception when generating OTD code ...Exception: javaClass: Oracle_std_otdOTD: Exception when invoke DB Codegen Task...Exception: Invalid parameter type: Class : [Std_insert_PreapredStat] Object: [Param1] Param Type : [DECIMAL].(ERROR_CODEGEN_DB)(ERROR_CREATE_OTD)
         at com.stc.oracle.codegen.OracleEWayCodeletFactory$OracleEWayCodelet.generateOtdJarFile(OracleEWayCodeletFactory.java:2045)
         at com.stc.oracle.codegen.OracleEWayCodeletFactory$OracleEWayCodelet.generateFiles(OracleEWayCodeletFactory.java:1756)
         ... 10 more
    Regards,
    Abdul

    hi...
    i too getting same problem..how did u reslove this...
    please help me out...
    thanks in advance
    KK

  • UML & Code Generation (RAD)

    Hey everyone,
    I'm evaluating Java IDE's right now and I'm working with a group that uses a tool called Popkin to do their design in UML. I'm trying to find a Java IDE that can import (via XMI) those diagrams to do the code generation.
    Rational and TogetherSoft have integrated environments that couple the code and design (As you code, the UML is updated and as you create UML, the code is updated, etc.)
    I'm wondering though, if you use something like JBuilder, how can you import the UML from another tool? Has anyone messed with Popkin before or tried to integrate something like this?
    Thanks,
    Will

    bump
    i don't care about this topic any longer, but need to give out a duke dollar, first one to respond wins!

  • UML code generation

    Hi,
    I'm developing an application of ~50+ classes in UML on JSE8 and use java code generation.
    The question is about aggregations.
    Navigable aggregations translate in java code to a class attribute, and to the corresponding getter/setters-methods.
    A non-navigable aggregation is not translated to java code at all.
    ( I would expect it should translate to an attribute, but without getter/setters.
    My understanding is, "navigable" means "navigable from outside the class". Correct?)
    So how can I model an aggregation, which translates to an attribute in java, without generating the getters/setters?
    And where can I find a comprehensive list of how elements in class diagrams are translated to java code?
    Where is the JSE8-UML-manual, which includes all these details about UML code generation?
    Thanks a lot for any useful hint!

    Hi,
    actually, the code generator is correct.
    A non-navigable association should not generate an attribute.
    Consider the example:
    class Order -> class Date
    You have navigation from class order to class date, but not otherwise.
    This means that, given a Order object, you can find it's associated Date.
    However, the inverse is not true: given a Date object you have no means of "navigating" or finding out which Order objects would have that date. This is what navigation means.
    This should be translated into something like this
    class Order{
    Date theDate;
    class Date{
    int day, whatever;
    //no ref to order-non navigable
    If navigation from both classes were possible, a much more complicated code would be needed. It would be something along these lines, considering a 1-1 association (a *-1 association would require multiple order references to be stored at Date, with yet more complications):
    class Order{
    Date theDate;
    void setDate(Date d)
    theDate=d;
    d.setOrder(this);
    class Date{
    int day,whatever;
    Order theOrder; //navigation to order
    void setOrder(Order o)
    theOrder=o;
    Care should be taken to ensure proper consistency between references (ie: the order in date should never be changed without making a corresponding change to the new order object).
    All this serves to show, you should use navigation sparringly (as needed) , otherwise you're just complicating your code more than you should.
    Greets
    Jorge

  • Code 'Generation' with DRY (don't repeat yourself)??

    Hello I am new to the forum so please be kind,
    I have recently gotten an internship with one of the offices with my University and am working a project (for a while now). I spend most of the day just getting all the classes assembled to be used (often a two day process) and what I would like to do is pass in a few parameters then have it generate the majority of the standard code that takes so much time to type out.
    What I am referring to is Consructors/ Setters/ Getters and toString.
    Parameters:
    Class name
    int first 5
    double secondMost of this stuff is pretty standard, but I figured there was a template or something I could build to do much of this for me. Unfoturnaly the University teaches C++, so learning Java on my own is somewhat difficult at times.
    Oh. I had found a wikipedia page about a design method called DRY, basically it pointed out that I could do just what I am wanting to do, but unfortunately I cannot seem to find an example or any detailed information about this method.
    This is what I have rolling around in my head at the moment:
    The use a bunch of strings and printf("%s, args) ...to build this entire page, then go in and enter the things that I couldn't generate.
    I could see this working, but I had felt this would go against code resuability because when the class/things I would generate would change, I would have to do some serious changes to this to get it working again. (Maybe that is the point).
    I would greatly appreciate some guidance on this, or pointed to more information.
    Thanks

    dajohnson1s wrote:
    Hello I am new to the forum so please be kind,
    I have recently gotten an internship with one of the offices with my University and am working a project (for a while now). I spend most of the day just getting all the classes assembled to be used (often a two day process) and what I would like to do is pass in a few parameters then have it generate the majority of the standard code that takes so much time to type out.
    What I am referring to is Consructors/ Setters/ Getters and toString.
    Parameters:
    Class name
    int first 5
    double second
    Most of this stuff is pretty standard, but I figured there was a template or something I could build to do much of this for me. Unfoturnaly the University teaches C++, so learning Java on my own is somewhat difficult at times.
    First step is recognizing a pattern.
    Second step, experience wise, is learning to recognize the difference between something that should be generated and something that shouldn't.
    Third step is implementation.
    Code generation should only be used if it can be insured that it eases the task now and in addition does not complicate the task in the future. That must include the possibility that the generation part will be abandoned so the generated code itself must be in such a state that it can be maintained.
    Once you have a pattern then you must choose a way to represent the pattern as a 'source'. Sources can one or more of the following: text, xml, sql scripts, sql databases, existing source files, existing code bases, design document, pdf files. Anything that you can extract a definition from will work.
    An example text file relevant to your task might look like this.
          Class: XxxMyclas
          Attribute: Count int
          Attribute: Name String.From that you create a standard compiler type idiom
    1. Parse (read file and collect data)
    2. Syntax (validate collected data, which might also be part of 1)
    3. Generate (use data to generate new source)
    Each phase can embodied certain complications (can not must). Some examples.
    1. Parse - provide an xml to define data types.
    2. Generate - provide a template file used to generate the code, define where the output goes, insure existing files not overwritten, etc.
    Your description sounds like a one shot - in that you will not be generating every everytime but rather will generate it once and then modify it.
    Oh. I had found a wikipedia page about a design method called DRY, basically it pointed out that I could do just what I am wanting to do, but unfortunately I cannot seem to find an example or any detailed information about this method.
    The only general books I have found on the subject is one directed at Perl (Perl Munging) which is sort of related and one for .Net (or maybe java) but which is directed at a proprietary commercial product.
    This is what I have rolling around in my head at the moment:
    The use a bunch of strings and printf("%s, args) ...to build this entire page, then go in and enter the things that I couldn't generate.
    I could see this working, but I had felt this would go against code resuability because when the class/things I would generate would change, I would have to do some serious changes to this to get it working again. (Maybe that is the point).
    Code generation has its best usage if you can recognize a pattern and then implement it such that manual modifications are not needed. This however is tempered by the requirement that I first mentioned that the generated code must be maintainable by itself.

  • Code Generation Error - SUP 2.2 / SUW 2.2

    Hi,
    I have formatted my laptop PC and re-installed Sybase Unwired Workspace 2.2. After the installation I get Code Generation Error message:
    Before Code Generarion attemp the Java Build Path / Source tab is empty and after the Code Generation the error specified above is generated and the following path is added to the Java Build Path / Source tab:
    XXX/Generated Code/src (missing)
    I cannot resolve the problem. Does anybody has idea about the problem?
    thanks,

    Hi,
    1. I created a new model having only one MBO and generated code successfuly.
    2. The result is the same after deletion of "Generated Code" and creating new folder
    3. The result is the same after generation code to another folder.
    nothing has changed but I discovered additional information in the "workspace\.metadata\.log" file:
    com.sybase.uep.tooling.codegeneration.coordinator.CoordinatorException: Member not found: inverseClass on object com.sybase.afx.compiler.AttributeDef@2a3881
      at com.sybase.uep.tooling.codegeneration.coordinator.impl.ClientObjectAPICoordinator.sendRequest(ClientObjectAPICoordinator.java:115)
      at com.sybase.uep.tooling.codegeneration.ui.CodeGenerationJob.sendRequest(CodeGenerationJob.java:200)
      at com.sybase.uep.tooling.codegeneration.ui.CodeGenerationJob.processTasks(CodeGenerationJob.java:172)
      at com.sybase.uep.tooling.codegeneration.ui.CodeGenerationJob.runInWorkspace(CodeGenerationJob.java:123)
      at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
      at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: com.sybase.uep.tooling.codegeneration.clientobjectapi.ClientObjectAPIException: Member not found: inverseClass on object com.sybase.afx.compiler.AttributeDef@2a3881
      at com.sybase.uep.tooling.codegeneration.coordinator.CoordinatorException.<init>(CoordinatorException.java:27)
      ... 6 more
    Caused by: com.sybase.modeling.templatej.runtime.adapter.impl.NoSuchMemberException: Member not found: inverseClass on object com.sybase.afx.compiler.AttributeDef@2a3881
      at com.sybase.uep.tooling.codegeneration.CodeGenerationException.<init>(CodeGenerationException.java:26)
      at com.sybase.uep.tooling.codegeneration.clientobjectapi.ClientObjectAPIException.<init>(ClientObjectAPIException.java:27)
      at com.sybase.uep.tooling.codegeneration.clientobjectapi.impl.ClientObjectAPIDelegator.generate(ClientObjectAPIDelegator.java:155)
      at com.sybase.uep.tooling.codegeneration.coordinator.impl.ClientObjectAPICoordinator.sendRequest(ClientObjectAPICoordinator.java:86)
      ... 5 more

  • Code generation tools

    Hello Xperts,
    Is there any code generation tool for hibernate & spring for java standalone application?
    Thanks!

    You may want to find useful DBScribe.
    ~ Madrid.

  • JavaBeans code generation from XSD

    Hi everyone,
    I know that this is not a new question, but I still did not find a satisfying answer.
    Does anyone know a good code generator for creating JavaBeans out of XSD schemas?
    The output of this tool has to comply with the JavaBeans specification, because we want to map these POJOs to a database with the Java Persistence API. Especially lists and sets need to be created correctly, because we will make heavy use of associations.
    I've evaluated a large number of tools, most of them are not useable together with JPA. Here is a short list of tools I already tried:
    - Castor: Really nice tool, but getter-methods for "java.util.List" objects return a copy of this list as array! Output is not a JavaBean!
    - XMLBeans: As far as I've seen, Java objects have to be retrieved via a factory method, I see no possibility to use this library together with JPA. I furthermore doubt that these objects are JavaBeans.
    - HyperJaxb2+3: This tool promises to create Java POJOs and Hibernate mappings at the same time. The description looks very good, but the page seems to be down. I was not able to initiate a download for days.
    - Altova XMLSpy: This tool allows the generation of Java code out of XSD schemas. But the result is rather ugly. A simple XML "string" is translated into an internal Java class definition instead of a simple "String" instance. I see no usage of these objects together with JPA.
    I spent quite a lot of time for searching a good code generation framework that works together with JPA. Has anyone made good experience with any kind of code generators in this area?
    Thanks for any help!
    Martin

    Hi dvohra09,
    thanks for your reply. I think JAXB has the same limitations than XMLBeans. As I read at http://java.sun.com/javaee/5/docs/tutorial/doc/JAXB6.html, object instances shall be only accessed via a factory:
    "You should never directly use the generated implementation classes--that is, *Impl.java in the <packagename>/impl directory. These classes are not directly referenceable because the class names in this directory are not standardized by the JAXB specification. The ObjectFactory method is the only portable means to create an instance of a schema-derived interface. There is also an ObjectFactory.newInstance(Class JAXBinterface) method that enables you to create instances of interfaces. "
    Did you use JAXB2 together with the Java Persistence API? If yes, can you give me please an example how to map generated classes to the database?
    Thanks for your help!
    Martin

  • Hibernate + Middlegen + Code generation

    I use Hibernate and Middlegen for working with Oralce database. Middlegen generated java classes successfully. But I want to add some new methods and attributes to it. Can I specified that modification and apply it every time when I regenerate classes?
    For example: it generates class A:
    public class A {
    private BigDecimal xmlFile;
    public A() {};
    and i want to generate class as
    public class A {
    BigDecimal xmlFile;
    // new property that is not mapped on the database.
    int new_prop;
    public A() {
    // read data from file and specify new_prop.
    new_prop = 2;
    }

    I think Code Generation has it's place, and that place is pretty narrowly defined. I don't mind using a tool to generate boilerplate code that I already understand, but don't care to write. I don't mind asking my editor to generate get/set methods for me. I don't care if I never write another ejb-jar.xml. But I think it negatively effects your ability to write solid code when your understanding of what you're doing ends at the XDoclet tag.

  • Missing setup statements when exporting to java source code

    We are moving from Toplink 9i to Toplink 10g. (I know, we're a little behind the times). I saved the project in 10g checked to make sure all the settings were the same as in the 9i project. When I export the project to java source code, we're missing the following configuration setup statements.
    Has anyone else run in to this issue? (login is a DatabaseLogin object)
         // Configuration properties.
         login.setUsesNativeSequencing(false);
         login.setSequencePreallocationSize(50);
         login.setSequenceTableName("SEQUENCE");
         login.setSequenceNameFieldName("SEQ_NAME");
         login.setSequenceCounterFieldName("SEQ_COUNT");
         login.setShouldBindAllParameters(false);
         login.setShouldCacheAllStatements(false);
         login.setUsesByteArrayBinding(true);
         login.setUsesStringBinding(false);
         if (login.shouldUseByteArrayBinding()) {
              login.setUsesStreamsForBinding(false);
         login.setShouldForceFieldNamesToUpperCase(false);
         login.setShouldOptimizeDataConversion(true);
         login.setShouldTrimStrings(true);
         login.setUsesBatchWriting(false);
         if (login.shouldUseBatchWriting()) {
              login.setUsesJDBCBatchWriting(true);
         login.setUsesExternalConnectionPooling(false);
         login.setUsesExternalTransactionController(false);

    These settings are all the defaults, so not required. The project code generation no longer includes defaults.
    -- James : http://www.eclipselink.org

  • Refactor - Renaming Problem Auto Code Generation

    After renaming the java source files (backing beans) to upper case letters (ex. from console.java to Console.java),
    JSC is not able to instantiate this class anymore, because the managed-bean.xml is altered automatically.
    The next problem is the jsp-file. JSC produces some useless code which points to the new (by JSC) created managed beans (old ones still exist)
    example (jsp):
    </ui:body>
    </ui:html>
    </ui:page>
    </f:view>
    <ui:body binding="#{request$console.body1}" id="body1"/>
    (managed-beans.xml)
    <managed-bean>
    <managed-bean-name>request$console</managed-bean-name>
    I�m not able to delete this generated code, because after saving and reloading the jsp-file the inserted code is still there.
    In the projects view my java source files are shown in small letters, even if the files are in upper case on the file system (explorer).
    I�m using Studio Creator 2 Update 1 (Build 060915)
    The project can only be deployed (exporting *.war in JSC) and executed when i change the file attributes to read-only after editing them with a standard text editor.
    Any suggestions?

    Hi Naveen,
    I found these two fms's which would enable automatic item code generation. See if it helps you.
    declare @temp as char(20)
    IF $[OITM.ItmsGrpCod] = 101
    BEGIN
    set @temp=(select isnull(max(right(ItemCode,4)),0) + 1 from OITM where (ItmsGrpCod= 101) and (len(ItemCode)=7))
    set @temp='DRM'+isnull(replicate(0,4-len(@temp)),'')+@temp
    select cast(@temp as char(20))
    END
    ELSE IF $[OITM.ItmsGrpCod] = 102
    BEGIN
    set @temp=(select isnull(max(right(ItemCode,4)),0) + 1 from OITM where (ItmsGrpCod= 102) and (len(ItemCode)=7))
    set @temp='PKG'+isnull(replicate(0,4-len(@temp)),'')+@temp
    select cast(@temp as char(20))
    END
    And:
    DECLARE
    @NUM AS CHAR(7)
    SET @NUM =
    (SELECT RIGHT(MAX(CardCode), 7) FROM OITM)
    SET @NUM = @NUM + 1
    BEGIN
    IF @NUM IS NULL OR @NUM = 0
    BEGIN
    SELECT 'I0000001'
    END
    IF @NUM < 10
    BEGIN
    SELECT 'I000000' + @NUM
    END
    IF @NUM > 9 AND @NUM < 100
    BEGIN
    SELECT 'I00000' + @NUM
    END
    ----COMPLETE THE CODE
    END
    Thanks,
    Joseph

  • Runtime Code Generation and operations on unknown types

    (Post split in two) - Part 1
    Hello,
    The problem is a bit more complex so I will try to explain it as good as possible. Let's consider the following classes and interfaces (trimmed to the essential parts):
    public abstract class Binding {
      private String name;
      public Binding(String name) {
        this.name = name;
      abstract Object getValue();
      // getters & setters
    public interface ExpressionImpl {
      public Object evaluate();
    public class DirectBinding extends Binding {
      private String expression;
      private ExpressionImpl exprImpl;
      public DirectBinding(String name, String expression) {
        super(name);
        this.expression = expression;
        this.exprImpl = /* Call to some code which will generate and load a a class that implements "ExpressionImpl" */
      public Object getValue() {
        return exprImpl.evaluate();
    public class RecursiveBinding extends Binding {
      private String initializationExpression;
      private String recursiveExpression;
      private ExpressionImpl exprImpl;
      public RecursiveBinding(String name, String initializationExpression, String recursiveExpression)  {
        super(name);
        this.initializationExpression= initializationExpression;
        this.recursiveExpression= recursiveExpression;
        this.exprImpl = /* Call to some code which will generate and load a a class that implements "ExpressionImpl" */
      public Object getValue() {
        return exprImpl.evaluate();
    public class Element {
      private List<Element> children;
      private Element parent;
      private List<Binding> bindings;
      // constructor, add, remove, getters and setters
    }So:
    1. Element models a tree node structure (reference to children and parent) and a binding container.
    2. Bindings know their parent element.
    3. A Binding can search and access Bindings from it's parent element or this element's ancestors.
    4. To observe that Bindings return Object values.
    5. Bindings are initialized from top to bottom. So if a child element's binding requires the value of a parent element binding, this is allready available.
    6. Valid expressions for DirectBindings are for example:
    - "100"
    - "3.5D + (new java.util.Random().nextDouble())"
    - "$parent_binding + $ancestor_binding"
    7. Valid expressions for RecursiveBindings are (initialization expression, recursive expression) (for a Binding called "this_binding"):
    - "$parent_binding" , "$this_binding + 1"
    - "100", "$this_binding * $ancestor_binding"
    8. A Binding object deals with values of the same type in it's expression(s) -> only numeric, only boolean. You cannot have "$parent_binding && true" if "parent_binding" returns an Integer object (through it's "Object getValue()" method).
    9. Instead of parsing and evaluating the expressions as strings, classes are generated which return the natural (Java) evaluation of the expressions. Of course valid code will be generated for the expression, so if a binding reference is found, in the generated class it will be replaced with the equivalent "binding.getValue()".

    Part 2
    Let's consider the following code snippet:
    Element parent = new Element("parent");
    parent.addBinding(new DirectBinding("parent_binding", "3.5D"); // Will call this Binding 1
    Element child = new Element("child");
    child.addBinding(new DirectBinding("child_direct_binding", "$parent_binding + 1"); // Will call this Binding 2
    child.addBinding(new RecursiveBinding("child_recursive_binding", "10", "$child_recursive_binding + Math.PI"); // Will call this Binding 3
    parent.add(child);
    parent.initialize(); // this is where the code generation starts (top to bottom)Now the following classes are generated:
    Binding 1 expression implementation:
    public class EMC_parent_binding implements ExpressionImpl {
         public EMC_parent_binding(final BindingCache bindingCache) {
         public Object evaluate() {
              return 3.5D;
    //Binding 2 expression implementation:
    public class EMC_child_direct_binding implements ExpressionImpl {
         private Binding m_parent_binding;
         public EMC_child_direct_binding(final BindingCache bindingCache) {
              m_parent_binding = bindingCache.getBinding("parent_binding");
         public Object evaluate() {
              return (java.lang.Double)(m_parent_binding.getValue()) + 1;
    // Binding 3 expression implementation:
    public class EMC_child_recursive_binding implements ExpressionImpl {
         private boolean firstEvaluation = true;
         private Binding m_child_recursive_binding;
         public EMC_child_recursive_binding(final BindingCache bindingCache) {
              m_child_recursive_binding = bindingCache.getBinding("child_recursive_binding");
         public Object evaluate() {
              if (firstEvaluation) {
                   firstEvaluation = false;
                   return 10;
              } else {
                   return (UnkownType)(m_child_recursive_binding.getValue()) + Math.PI;  // <-------- This is where the problem appears
    }Notice the casts in the evaluate() methods. Since I cannot do operations on "Object" I needed to cast to the appropriate types. This is easy to notice in Binding 2. It's easy to cast to "java.lang.Double" since when generating the code I allready have the value of "parent_binding" and thereby know it's type.
    Now the problem appears at recursive bindings (code for Binding 3). The binding for which I currently generate the code has a value of "null" and cannot find an appropriate type to cast to. How can I find a type to cast to, or what other solutions do I have?
    I sincerely thank you for reading this whole post, and am looking forward for some replies.
    Kind regards,
    Cosmin.

  • Error in code generation for deleting table BUT000_TD

    Hi,
    Did anyone encounter this error while working on EEWB ?
    I created the project extension via EEWB and completed the wizard setting with the package (dev. class) value as $temp as I wanted to test it locally.
    One of the errors, that I got is:
    Error in code generation for deleting table BUT000_TD
        Message no. DA464
    Diagnosis
        This error message indicates that internal inconsistencies exist.
    Procedure
        Please consult SAP.

    Hi,
    As I mentioned in my previous post kindly check the consistency of the structure BUT000_TD.
    Regards,
    Sudheer.

  • Error during distribution for compiled code generation-Reply

    Hi,
    Looking at your error messages, it looks as though your build is failing during the code generation phase of an autocompilation. To determine why the code generator crashed, either look in the $FORTE_ROOT/log/forte_ex*.log files or don't use autocompilation and use fcompile.
    There are many reasons why the code generator could crash. Some of the things I've come across are running out of memory and trying to find invalid classes.
    If its the invalid class problem you'll find a message like:
    Generating code for partition BLTCustomWindow_cl0_Part1.
    ERROR: Exiting due to following exception:
    SYSTEM ERROR: Client partition FTCompile_cl0_Client was terminated by escaped
    exception. See the remainder of the error stack for more information.
    Class: qqsp_ResourceException
    Error #: [1001, 3]
    Detected at: qqrt_ForteExecAgent::LoadPartition at 1
    Error Time: Tue Aug 18 17:52:44
    Exception occurred (locally) on partition "Forte_Executor", (partitionId =
    9EA25A00-36FE-11D2-87C4-502F15BEAA77:0x1, taskId =
    [9EA25A00-36FE-11D2-87C4-502F15BEAA77:0x1.6]) in application
    "FTCompile_cl0", pid 28331 on node stardev in environment <unknown>.
    FATAL ERROR: Invalid class ProductBMServices.ProductSecurityMgrProxy
    (0x4ecd,0x19a)
    Class: qqsp_ImplementationException
    Detected at: qqcg_TRclass::SetClass at 2
    Last TOOL statement: method ForteCompiler.ProcessPGF
    Error Time: Tue Aug 18 17:52:44
    Exception occurred (locally) on partition "Forte_Executor",
    (partitionId = 9EA25A00-36FE-11D2-87C4-502F15BEAA77:0x1, taskId =
    [9EA25A00-36FE-11D2-87C4-502F15BEAA77:0x1.6]) in application
    "FTCompile_cl0", pid 28331 on node stardev in environment <unknown>.
    The solution for this instance is to clean up the invalid classes using the c4tstdrv utility.
    c4tstdrv > setrepos star8
    c4tstdrv > setwork dmcompiledbuild
    c4tstdrv > open
    Type Service Flags Level
    err sh * 255
    trc rp 1 4
    c4tstdrv > findproj productbmservices
    c4tstdrv > cleanuprtclasses
    Removing extraneous RTclass ProductShootingLocationMgrProxy
    Removing extraneous RTclass PRTerritoryBaseMgrProxy
    Removing extraneous RTclass PRTerritoryMgrProxy
    Removing extraneous RTclass TalentBaseMgrProxy
    Removing extraneous RTclass TalentTypeMgrProxy
    Removing extraneous RTclass TitleTypeBaseMgrProxy
    Removing extraneous RTclass TitleTypeMgrProxy
    Removing extraneous RTclass ProductSecurityBaseClass
    Removing extraneous RTclass ProductSecurityBaseQuery
    Removing extraneous RTclass ProductSecurityQuery
    Removing extraneous RTclass ProductSecurityMgrProxy
    c4tstdrv > commit
    c4tstdrv > exit
    Integrate the changes to the workspace, start the build again and this should have cured the problem.
    However, its hard to know what the cause of your problem is without seeing the output in the log files.
    Good luck.
    Mark Carruthers
    20th Century Fox
    "Forte Consultants" <[email protected]> 01/22/99 08:35am >>>
    Hi,
    I'm doing application distribution for my application using a fscript
    script and am forcing compilation on 2 of my partitions.
    This I have been doing from quite sometime successfully. Recently I
    developed a new service and plugged it into my application for
    deployment.
    I'm successfully able to distribute & deploy the interpreted code. But
    I'm getting a long list of system errors when I try doing distribution
    for compiled code. And I see only one of the .exe generated instead of
    two because of which I'm unable to go ahead with installaion. I would
    appreciate if anybody let me know why this's happening ?. The following
    is the main chunk of this error list.
    Thanks in advance.
    --Anand Ramaswamy
    SYSTEM ERROR: Cannot resolve the distributed reference for an object of
    class
    (qqlo_Object) named (<Unknown>) for the reasons below.
    Class: qqsp_DistAccessException
    Error #: [601, 144]
    Detected at: qqdo_ProxyMgr::ResolveOutGoingProxy at 10
    Error Time: Fri Jan 22 10:44:22
    Exception occurred (locally) on partition "Fscript_cl9_Client",
    (partitionId = 32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1,
    taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1.1]) in application
    "fscript", pid 4b81 on node MOOSUP in environment IGTSDENV.
    SYSTEM ERROR: Can not initially communicate with the object named
    (Unnamed),
    which is supposed to be in partition
    (32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x616:0x1).
    Class: qqsp_DistAccessException
    Error #: [601, 140]
    Detected at: qqdo_ProxyMgr::CheckAccess at 1
    Error Time: Fri Jan 22 10:44:22
    Exception occurred (locally) on partition "Fscript_cl9_Client",
    (partitionId = 32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1,
    taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1.1]) in application
    "fscript", pid 4b81 on node MOOSUP in environment IGTSDENV.
    SYSTEM ERROR: Attempt to send to unknown destination partition
    (32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x616:0x1).
    Class: qqsp_DistAccessException
    Error #: [601, 102]
    Detected at: qqdo_PartitionMgr::SendMsg at 1
    Error Time: Fri Jan 22 10:44:22
    Distributed method called: qqdo_InternalMessage.<Message> (object
    name
    Unnamed) from partition "CodeGenerationSvc_cl0_Part1-router",
    (partitionId
    = 32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x615:0x1, taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x615.2]) in application
    "CodeGenerationSvc_cl0", pid 7487 on node MOOSUP in environment
    IGTSDENV
    Exception occurred (locally) on partition "Fscript_cl9_Client",
    (partitionId = 32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1,
    taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1.1]) in application
    "fscript", pid 4b81 on node MOOSUP in environment IGTSDENV.
    SYSTEM ERROR: Partition (32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x616:0x1)
    no
    longer exists. The process associated with the partition probably
    terminated.
    Class: qqsp_DistAccessException
    Detected at: qqdo_PartitionMgr::CheckStarted at 1
    Error Time: Fri Jan 22 10:44:22
    Exception occurred (locally) on partition "Fscript_cl9_Client",
    (partitionId = 32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1,
    taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1.1]) in application
    "fscript", pid 4b81 on node MOOSUP in environment IGTSDENV.
    SYSTEM ERROR: This method invocation is being retried because the
    failures
    shown below and the fact that the dialog duration is MESSAGE. This is
    try #2.
    Class: qqsp_DistAccessException
    Error #: [601, 54]
    Detected at: qqdo_Message::Failed at 1
    Error Time: Fri Jan 22 10:44:19
    Exception occurred (locally) on partition "Fscript_cl9_Client",
    (partitionId = 32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1,
    taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1.1]) in application
    "fscript", pid 4b81 on node MOOSUP in environment IGTSDENV.
    SYSTEM ERROR: The load balanced router is disabled or has no members.
    This
    can happen if all of the members terminated or failed.
    Class: qqsp_DistAccessException
    Error #: [601, 161]
    Detected at: qqdo_LbRouter::Route at 1
    Error Time: Fri Jan 22 10:44:19
    Distributed method called: GenerationMgrProxy.GeneratePartitionCode
    (object name
    site/codegenerationsvc_cl0/codegenerationsvc_cl0-codegensvc)
    from partition "Fscript_cl9_Client", (partitionId =
    32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1, taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614.2]) in application
    "fscript",
    pid 4b81 on node MOOSUP in environment IGTSDENV
    Exception occurred (remotely) on partition
    "CodeGenerationSvc_cl0_Part1-router", (partitionId =
    32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x615:0x1, taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1.10]) in
    application
    "CodeGenerationSvc_cl0", pid 7487 on node MOOSUP in environment
    IGTSDENV.
    SYSTEM ERROR: This method invocation is being retried because the
    failures
    shown below and the fact that the dialog duration is MESSAGE. This is
    try #1.
    Class: qqsp_DistAccessException
    Error #: [601, 54]
    Detected at: qqdo_Message::Failed at 1
    Error Time: Fri Jan 22 10:44:15
    Exception occurred (locally) on partition "Fscript_cl9_Client",
    (partitionId = 32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1,
    taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1.1]) in application
    "fscript", pid 4b81 on node MOOSUP in environment IGTSDENV.
    SYSTEM ERROR: Access to a load balanced router member (which is a
    service
    object) failed for the reasons below.
    Class: qqsp_DistAccessException
    Error #: [601, 162]
    Detected at: qqdo_LbRouter::Route at 2
    Error Time: Fri Jan 22 10:44:15
    Distributed method called: GenerationMgrProxy.GeneratePartitionCode
    (object name
    site/codegenerationsvc_cl0/codegenerationsvc_cl0-codegensvc)
    from partition "Fscript_cl9_Client", (partitionId =
    32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1, taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614.3]) in application
    "fscript",
    pid 4b81 on node MOOSUP in environment IGTSDENV
    Distributed method called: qqlo_Object.<Message> (object name
    Unnamed)
    from partition "Forte_Executor", (partitionId =
    32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x615, taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x615.12]) in application
    "CodeGenerationSvc_cl0", pid 7487 on node MOOSUP in environment
    IGTSDENV
    Exception occurred (remotely) on partition
    "CodeGenerationSvc_cl0_Part1-router", (partitionId =
    32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x615:0x1, taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1.10]) in
    application
    "CodeGenerationSvc_cl0", pid 7487 on node MOOSUP in environment
    IGTSDENV.
    SYSTEM ERROR: Cannot resolve the distributed reference for an object of
    class
    (qqlo_Object) named (<Unknown>) for the reasons below.
    Class: qqsp_DistAccessException
    Error #: [601, 144]
    Detected at: qqdo_ProxyMgr::ResolveOutGoingProxy at 10
    Error Time: Fri Jan 22 10:44:15
    Distributed method called: qqlo_Object.<Message> (object name
    Unnamed)
    from partition "Forte_Executor", (partitionId =
    32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x615, taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x615.12]) in application
    "CodeGenerationSvc_cl0", pid 7487 on node MOOSUP in environment
    IGTSDENV
    Exception occurred (remotely) on partition
    "CodeGenerationSvc_cl0_Part1-router", (partitionId =
    32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x615:0x1, taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1.10]) in
    application
    "CodeGenerationSvc_cl0", pid 7487 on node MOOSUP in environment
    IGTSDENV.
    SYSTEM ERROR: This distributed reference was previously invalidated due
    to the
    reasons below.
    Class: qqsp_DistAccessException
    Error #: [601, 132]
    Detected at: qqdo_ProxyMgr::ResolveOutGoingProxy at 3
    Error Time: Fri Jan 22 10:44:15
    Exception occurred (remotely) on partition
    "CodeGenerationSvc_cl0_Part1-router", (partitionId =
    32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x615:0x1, taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1.10]) in
    application
    "CodeGenerationSvc_cl0", pid 7487 on node MOOSUP in environment
    IGTSDENV.
    INFORMATION: The connection to the partner was terminated by the
    Communication
    Manager for the reasons below.
    Class: qqsp_DistAccessException
    Detected at: qqdo_PartitionMgr::StopLocation at 1
    Error Time: Fri Jan 22 10:44:15
    Exception occurred (remotely) on partition
    "CodeGenerationSvc_cl0_Part1-router", (partitionId =
    32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x615:0x1, taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1.10]) in
    application
    "CodeGenerationSvc_cl0", pid 7487 on node MOOSUP in environment
    IGTSDENV.
    INFORMATION: Network partner closed connection. This usually means the
    process at the other end of the wire failed. Please go look there and
    find
    out why.
    Class: qqsp_DistAccessException
    Detected at: qqcm_HoseFSM::ReceivedClose at 2
    Error Time: Fri Jan 22 10:44:15
    Exception occurred (remotely) on partition
    "CodeGenerationSvc_cl0_Part1-router", (partitionId =
    32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x615:0x1, taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1.10]) in
    application
    "CodeGenerationSvc_cl0", pid 7487 on node MOOSUP in environment
    IGTSDENV.
    INFORMATION: Asynchronous Failure: Recieved a close from the network
    partner:
    Internet Location - Host: moosup.iroquois.com Port Number: 2504 Dot:
    193.1.11.26 %LINKDISCON, network partner disconnected logical link
    Event 4
    Class: qqsp_DistAccessException
    Detected at: qqcm_HoseFSM::ReceivedClose at 1
    Error Time: Fri Jan 22 10:44:15
    Exception occurred (remotely) on partition
    "CodeGenerationSvc_cl0_Part1-router", (partitionId =
    32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x615:0x1, taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1.10]) in
    application
    "CodeGenerationSvc_cl0", pid 7487 on node MOOSUP in environment
    IGTSDENV.
    SYSTEM ERROR: This method invocation is being retried because the
    failures
    shown below and the fact that the dialog duration is MESSAGE. This is
    try #1.
    Class: qqsp_DistAccessException
    Error #: [601, 54]
    Detected at: qqdo_Message::Failed at 1
    Error Time: Fri Jan 22 10:44:15
    Exception occurred (remotely) on partition
    "CodeGenerationSvc_cl0_Part1-router", (partitionId =
    32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x615:0x1, taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1.10]) in
    application
    "CodeGenerationSvc_cl0", pid 7487 on node MOOSUP in environment
    IGTSDENV.
    INFORMATION: The connection to the partner was terminated by the
    Communication
    Manager for the reasons below.
    Class: qqsp_DistAccessException
    Detected at: qqdo_PartitionMgr::StopLocation at 1
    Error Time: Fri Jan 22 10:44:15
    Distributed method called: qqlo_Object.<Message> (object name
    Unnamed)
    from partition "Forte_Executor", (partitionId =
    32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x615, taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x615.12]) in application
    "CodeGenerationSvc_cl0", pid 7487 on node MOOSUP in environment
    IGTSDENV
    Exception occurred (remotely) on partition
    "CodeGenerationSvc_cl0_Part1-router", (partitionId =
    32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x615:0x1, taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1.10]) in
    application
    "CodeGenerationSvc_cl0", pid 7487 on node MOOSUP in environment
    IGTSDENV.
    INFORMATION: Network partner closed connection. This usually means the
    process at the other end of the wire failed. Please go look there and
    find
    out why.
    Class: qqsp_DistAccessException
    Detected at: qqcm_HoseFSM::ReceivedClose at 2
    Error Time: Fri Jan 22 10:44:15
    Exception occurred (remotely) on partition
    "CodeGenerationSvc_cl0_Part1-router", (partitionId =
    32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x615:0x1, taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1.10]) in
    application
    "CodeGenerationSvc_cl0", pid 7487 on node MOOSUP in environment
    IGTSDENV.
    INFORMATION: Asynchronous Failure: Recieved a close from the network
    partner:
    Internet Location - Host: moosup.iroquois.com Port Number: 2504 Dot:
    193.1.11.26 %LINKDISCON, network partner disconnected logical link
    Event 4
    Class: qqsp_DistAccessException
    Detected at: qqcm_HoseFSM::ReceivedClose at 1
    Error Time: Fri Jan 22 10:44:15
    Exception occurred (remotely) on partition
    "CodeGenerationSvc_cl0_Part1-router", (partitionId =
    32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x615:0x1, taskId =
    [32271CD0-4E62-11D2-AF29-9F40A9E1AA77:0x614:0x1.10]) in
    application
    "CodeGenerationSvc_cl0", pid 7487 on node MOOSUP in environment
    IGTSDENV.
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

    Hi,
    If this INCLUDE is in a function group go the MAIN program and activate from there.
    Can you list out the include name?

  • FPGA Code Generation fails with error codes 7 and -1

    Hi all,
    I have been having a weird issue with my LV FPGA compilation in the last couple of days, no matter what I try to compile LV fails to generate the FPGA code files and returns with errors 7 and -1 and complains that the file is not found. This happens no matter what I am trying to compile even a VI with just a while loop. I followed the discussion forum here without any luck, also followed the NI article here and that did not help either. The error codes always get generated at the start of the Generating Intermediate files step #7 (out of 7).
    Attached to this post is a screenshot of the error I am getting (error -1 just says internal error and to contact NI support), bellow is basically the error I get for error code 7
    An internal software error has occurred. Please contact National Instruments technical support at ni.com/support with the following information:
    Error 7 occurred at Read from Text File in nirviGetInstantiation_cRIO-IDSel_Timer.vi->nirviGetInstantiation_cRIO-IDSel_Timer.vi.ProxyCaller
    Possible reason(s):
    LabVIEW: File not found. The file might have been moved or deleted, or the file path might be incorrectly formatted for the operating system. For example, use \ as path separators on Windows, : on Mac OS X, and / on Linux. Verify that the path is correct using the command prompt or file explorer.
    =========================
    NI-488: Nonexistent GPIB interface.
    C:\NIFPGA\compilation\cRioController_8-SlotFPGA_FPGA-TriggerTest_C06156E2\IDSel_Timer.vhd
    I tried to do some digging to see what could possibly be happening, and I noticed that LV is looking for the vhdl files in the wrong folder (see the line highlighted in red above), when generating the vhdl files, LV will place them inside the "source_files" folder under the compilation project, but for some reason it is trying to find them under the root folder not inside the source_files folder!!!
    Does anyone have any idea why LV would be looking for these files in the wrong subfolder? 
    Thank you,
    Aws
    Attachments:
    Code Generation Errors.png ‏35 KB

    Hi Aws_Khudhair,
    What version of LabVIEW are you using? And what version of the FPGA module? From what I found, it seems as though this is primarily an issue with LabVIEW 8.6 and 8.6.1.
    http://digital.ni.com/public.nsf/allkb/A711119FE89E39E78625754E00075E92
    This forum also discusses a similar issue:
     http://forums.ni.com/t5/Real-Time-Measurement-and/FPGA-compile-errors-after-generating-intemediate-f...
    It may also be worth repairing/reinstalling the FPGA Module and the Xilinx compile tools.
    Catherine B.
    Applications Engineer
    National Instruments

Maybe you are looking for