Tuesday, August 7, 2012

IBM i Updates in EDT 0.8.1

For those of you using EDT to develop applications that access IBM i programs, EDT 0.8.1 has a few changes you'll want to know about:

 

Annotation name changes

Based on feedback from you, our users, we have changed the names of the annotations used to control data conversion. Annotations that were previously prefixed with AS400 in the eglx.jtopen.annotations package now specify a prefix of Struct. As an example, the AS400Text annotation is now StructText. When you open existing EGL source code in EDT 0.8.1, you will see validation errors and you will need to change the annotation names.

 

New datatypes

EDT 0.8.1 adds Time and limited String to the types that can be used with IBMi programs.

The use of limited strings provides some advantages in coding for IBMi programs. EDT 0.8.0 required that all string fields used in accessing IBM i programs specify AS400Text{length=xx}. If you use a limited string, you no longer need to use a StructText annotation.

For example:

  firstName string{@StructText{length=10}};

can now also be written:

  firstName string(10);

Specifying an IBMiConnection on the proxy function

In EDT 0.8.0 you used connectionResourceBindingURI on the IBMiProgram annotation to define a default connection on the proxy function. In version 0.8.1 we have normalized connection definitions, and you can now use an @Resource annotation on the proxy function to specify the default connection.

EDT 0.8.0
  function testProc2(IPARM int inout, 
                      RETDATA int inout)returns(int){
     @ExternalName {value = "TESTPROC"},
     @IBMiProgram {
         isServiceProgram=true,
         programName="TSTSRVMME",
         libraryName = "/QSYS.LIB/TSTSRVPGM.LIB",
         connectionResourceBindingURI =         
                  "binding:file:thirdparty_programs#conn1"
     }
  }
EDT 0.8.1
  function testProc2(IPARM int inout, 
                      RETDATA int inout)returns(int){
     @ExternalName {value = "TESTPROC"},
     @Resource{uri = 
                "binding:file:thirdparty_programs#conn1"},
     @IBMiProgram {
         isServiceProgram=true,
         programName="TSTSRVMME",
         libraryName = "/QSYS.LIB/TSTSRVPGM.LIB"
     }
  }


Thank you for using EDT,
Joe

1 comment: