Register for SPC 2007 before April 6 to get early-bird pricing
Trouble viewing the newsletter? Read the online version.
 
 
SEN Logo
 
New for professional Developers
   

Synergy/DE | Synergex | News | Classes | Contact

 

February 8, 2007
  In this Issue  

Register for SPC 2007 before April 6 to get early-bird discount

Update your systems for Daylight Savings Time changes

Customer Success Story
Synergy/DE-based solution integrates real-time with SQL Server applications

Looking Forward to Synergy/DE 9
Strong prototyping

Support Tech Tip
Workbench Undo command

Should you upgrade to 64-bit for best scalability?
techrepublic.com (August 2006)

Announcing the first Synergy-e-Quiz winner!

Round 2! Synergy-e-Quiz challenge
The next round of questions begins today! Submit your answers and be in the running for a $100 gift check, plus view the correct answers from the first round

Platform News
"Review: Microsoft Windows Vista"; "Sun and Intel announce landmark agreement"; "Novell enhances Linux development with new open source services"; and more

Synergex Education and Events

Synergex Holiday Reminder
February 19 is President's Day

     
   
     
 
   
 
 


  Register for SPC 2007 before April 6 to get early-bird discount  


As announced previously in Synergy-e-News, the 2007 Synergex Success Partners Conference (SPC) will take place in Sacramento May 21-25. The conference will feature the newly released Synergy/DE 9 (coming out in April). Extensive hands-on workshops and informative sessions will illustrate the new features of this exciting release. The conference will also include sessions on topics such as improving your user interface, incorporating our new affordable business intelligence solution (VisualSmart) into your product offerings, integrating your applications with non-Synergy applications, executing remote Web services, managing RDBMS data, and more. If you are developing with Synergy/DE, this is a conference you won’t want to miss! Register before April 6 to receive early-bird pricing. For conference details, visit our Web site.

Add SPC 2007 to my calendar*
*when the dialog box appears, click Open to add the event to your calendar

 
top
 

 
Update your systems for Daylight Savings Time changes


In 2007, Daylight Saving Time (DST) will be extended by approximately four weeks. As required by the Energy Act of 2005, DST dates in the United States and Canada will start three weeks earlier (2:00AM on the second Sunday in March) and will end one week later (2:00AM on the first Sunday in November).

Be sure to update all systems (including mobile devices) to ensure that the time zone settings for the system clocks are correct during the four additional weeks of DST. (This DST change does not affect Synergy/DE.)

The following Web sites may be helpful:

Microsoft: Daylight Saving Time Help and Support Center
HP: U.S. 2007 Daylight Saving Time
SCO: North American Daylight Savings Time Changes
Sun: DST: Daylight Saving Time Changes (2007)
Red Hat: Knowledgebase article
Novell: Transition Dates for Daylight Saving Time are Changing in 2007…
IBM: : Daylight Savings Time Alert

 
top
 

 
  Customer Success Story
Synergy/DE-based solution integrates real-time with SQL Server applications

A division of ITW Ltd., James Briggs is the market leader in the manufacture of specialty chemicals and aerosols. They use Synergy/DE SQL Connection to enable real-time integration with third-party SQL Server applications.

James Briggs’ core manufacturing and accounting systems are part of a SQL Server packaged system that cannot be expanded, changed, or enhanced. (They plan to convert this system to Synergy/DE.) They also have a Synergy/DE-based application that provides functions that the other system does not, such as customer returns tracking, control and tracking of new product sampling/development, and complex formulation costing. 

The company needed their Synergy application to extract and manipulate the SQL Server data, so they used Synergy/DE SQL Connection to read the tables within the SQL database. They then stored the data in Synergy DBMS files. This process was initially set to run nightly to keep the two systems in sync.

Some of James Briggs’ users, however, did not want to wait until the overnight data conversion to get current data. So, to keep the data continually up-to-date, James Briggs implemented triggers in the SQL Server database that notify them when the data changes. And they created a Synergy batch routine that runs as a background process and updates the Synergy DBMS files when the SQL Server data changes.

“As a result of this implementation, we are now able to pull up-to-date SQL Server data on the fly,” states Keith Hill, lead Synergy/DE developer at James Briggs.

Integrating with other third-party applications
In addition to enabling the communication between these two disparate systems, James Briggs also uses SQL Connection to enable real-time integration of the SQL data with other third-party applications. For example, James Briggs uses SDSPro to classify their products for health and safety and transport legislation. This involves a process in which they use SQL Connection to read their SQL database and then pass their product recipes to the third-party software using XML.

SDSPro reads the XML data and performs a set of complex calculations to decide which health and safety and risk phrases the product requires. The relevant safety data sheets are then produced automatically and sent to the customers.

When the sales dispatch staff needs to prepare a consignment of products to send to a customer, they enter the consignment number into the Synergy/DE-based application, which uses SQL Connection to pull the dispatch data from the SQL database. It then gets the health and safety data from the SDSpro system and builds up a consignment of different products on different pallets. The end result is that the products are shipped in compliance with the transport rules, and they include the relevant supporting documentation.

“SQL Connection is extremely easy to use and a very reliable piece of software,” concludes Hill.
“We have found that using this product has significantly improved productivity and has allowed us to keep up-to-date with increasingly more complex legislation.”

 
 
   
top
   
 

 
  Looking Forward to Synergy/DE 9  
 

Strong prototyping

In traditional Synergy Language code, parameters passed to routines (subroutines and functions) are not checked to see if they conform to the way they are defined in the routines. While this allows tremendous flexibility in dynamically determining the parameters passed to a routine, sometimes a more managed approach is called for. This is where strong prototyping is useful. Strong prototyping, which will be available in Synergy/DE version 9, is the result of a combination of tools: namespaces, dblproto, and parameter modifiers.

Namespaces are logical groupings of classes, structures, and routines that can be used to group APIs of common functionality. Namespaces can be imported into another source module to add the prototype information to that compilation. Dblproto is a tool that reads Synergy Language source code and produces prototype files for the classes and routines in the source file. Parameter modifiers are used to place limits on the kinds of data that can be passed to routines.


The name of a routine, its return type, its modifiers and parameters, and their modifiers make up the signature of the routine. Strong prototyping makes sure that the signature of the routine being called matches the call of the routine. We’ll use the following class definition as an example:

namespace testsig
class class2
    public method class2
    proc
    endmethod
endclass

class class1
    public method class1
    proc
    endmethod
   
public method m1         ,void
    in p1             ,i8
    out p2           ,d5.2
    p3                ,@class2
    inout p4        ,d
    p5                ,a
endparams
proc
    p2 = 1.1
    p4 = 4
    mreturn
end
endclass
endnamespace

IN, OUT, and INOUT are direction modifiers. IN indicates that data will be passed into the routine but not modified. OUT means that data will be returned and therefore must be writable. INOUT indicates that data will be passed in, modified, and returned and therefore must also be writable. Processing the above code with dblproto results in two files that each describes a class defined in the file. The file for the class named class1 will look like this:

.nolist
.ifndef TESTSIG_CLASS1_DBH
.define TESTSIG_CLASS1_DBH
; Generated by dblproto on 21 DEC 2006 15:37:37
; export directory :C:\dev\dbl\src\cmp_new\
; From sources testsig.dbl

prototype
  class class1
    public method m1, void
      in p1, i8
      out p2, d5.2
      p3, @testsig.class2
      inout p4, d
      p5, a
    endmethod
  endclass
endprototype
.endc
.list

If the following source file is compiled, importing the testsig namespace strongly prototypes method m1 in class2 and therefore reports an error on the second and third calls to the method in the main routine:
import testsig

main
    record
            f1         ,d4.2
            f2         ,@class1
            f3         ,@class2
            f4         ,d6
            f5         ,a10
proc
            f2 = new class1()
            f3 = new class2()
            f2.m1(3, f1, f3, f4, "Hi there")
      f2.m1(4, f5, f3, 7, "Hello")
%DBL-E-BSTMTCH, Best match for testsig.class1.m1(I8,ID,@testsig.class2,D,A)void has some argument types or quantity that don't match

      f2.m1(4, f1, f3, 7, "Hello")
%DBL-E-OUTPARM, Must be able to write to argument 4, it was declared as OUT or INOUT

end

The first error is generated because the second parameter’s alpha type does not match the type of the method given in the prototype, which is implied decimal. The second error is generated because the fourth parameter is a literal and therefore cannot be written to as required by the INOUT modifier specified in the prototype.

Other modifiers that can be used on parameters in prototypes are as follows:

- BYVAL, to pass the parameter by value
- BYREF, to pass the parameter by descriptor
- CLS, to pass the parameter in a way that is compatible with .NET
- MISMATCH, to allow alphas to be passed in to decimal parameters
- OPTIONAL, to allow the parameter to be skipped
- REQUIRED, to require that the parameter always be passed

Routines can be prototyped to have variable numbers of parameters following a list of zero or more defined parameters by adding the VARARGS modifier to the routine. For example, the following subroutine definition allows varying arguments to be passed after the initial required ones:

subroutine sub1            ,varargs
required type     ,i
required count   ,i
proc
end

If the SYNDEFNS environment variable is set to “myns”, running dblproto on this file allows importing of the myns namespace, which includes the above subroutine. The following code illustrates how required and variable parameters are handled and what errors can result if the signature embodied in the prototype is not matched in a call:
import myns

main
proc
    xcall sub1(3, 2, "abc", "def")
    xcall sub1(, 4, 2, 4)
%DBL-E-REQPARM, Missing required parameter 1 in routine sub1

end

The first call matches the prototype, but the second is missing the first parameter, which is marked as required.

Routines defined in the current compilation are also checked to see if calls to them match the signature they were given when they were defined.

As you can see, strong prototyping can help ensure that calls to methods, subroutines, and functions pass the data that is expected. You will now be able to detect many more issues at compile time—issues that previously would not have been discovered until runtime.

Read more about version 9’s strong prototyping in Roger Andrews’ latest blog entry.

top

 
   
 
 
 
 
 
   
 

 
Support Tech Tip

Workbench Undo command

Question:
Why does the Undo command behave differently in Workbench version 8.3 than in previous versions?

Answer:
In versions of SlickEdit prior to version 10, the Undo command undid
each cursor movement individually. As of SlickEdit 10 (Synergy/DE 8.3), all cursor movements back to the last modification made are undone when Undo is selected.
 
To revert Undo to its previous behavior, follow these steps:
 
1. From the Macro menu, select Set Macro Variable.

2. Enter the following values in the Set Variable dialog box:

    Variable:  def_undo_with_cursor
    Value:  1

 
 
 
top
 

 
  Should you upgrade to 64-bit for best scalability?
 
 

techrepublic.com (August 2006)

64-bit technology is undoubtedly the wave of the future. 64-bit processors have been pretty common in high-end servers since 2004 and now 64-bit desktop machines are being offered by most PC vendors. Since 64-bit CPUs can handle more memory and larger files, and since 64-bit processors are backwardly compatible with 32-bit operating systems and applications, it seems obvious that 64-bit hardware provides you with the ultimate in scalability. If you're in the position to buy new computers in the near future, you may be wondering whether it’s worth the cost to go 64-bit. Read full article.

Visit our Web site* for more information about Synergy/DE on 64-bit platforms.

*Attention HelpDesk Support customers: After clicking on the above link, log into the Resource Center. You'll then be redirected to the appropriate page. Not yet on HelpDesk Support? Contact your SynergyDE account manager to sign up.

 
     
top
 

 
Allan Shikhvarg of HBS Pharmacy Services, an SXC company and leading provider of pharmacy applications, is the first Synergy-e-Quiz winner!


Congratulations, Allan. You have won a $100 gift check for having the most correct Synergy-e-Quiz answers.

Thanks to everyone who participated in the first round of the Synergy-e-Quiz. We will be annoucing the next winner at the end of April.

 

top

 

 

Round 2! Synergy-e-Quiz


The next round of questions begins today! Submit your answers and be in the running for a $100 gift check. Play now.

Curious about the answers to the last set of questions?
Thanks to everyone who answered the previous round of Synergy-e-Quiz questions! Find out which answers were correct, and why.

 
top
 

 

Platform News


Windows

Five things to know about Longhorn Server Core
January 23, 2007

Review: Microsoft Windows Vista
January 29, 2007


Sun Solaris
Sun and Intel announce landmark agreement
January 22, 2007

Is Solaris really a bright choice for developers?
January 22, 2007


Linux
Novell enhances Linux development with new open source services
January 24, 2007

Red Hat's volley on Linux management offering
January 25, 2007-01-30

Comparison: Vista, Linux
January 28, 2007


AMD
AMD: Go to 'Barcelona' over 'Clovertown'
January 24, 2007

 
top
 

 
  Synergex Education and Events  
 


March 7, 2007 - 8AM PST - Workbench Highlights* - At your desk
*All attendees receive a free t-shirt!

May 21-25, 2007 - Synergy/DE Developers Conference: SPC 2007 - Sacramento, CA

 
     
top
 

 
  Synergex Holiday Reminder  
 


Synergex will be closed on Monday, February 19, in observance of President’s Day. If you anticipate needing our assistance on this day, please contact us.

 
 
top
 
 

 
 

Subscribe to Synergy-e-News.

To view past issues of Synergy-e-News, see the Synergy-e-News Archive.
To remove yourself from the Synergy-e-News mailing list, please click here.

Trademarks: Synergex, Synergy, Synergy Development Environment, Synergy/DE, and all other Synergy/DE product names are trademarks of Synergex. All other product and company names in this newsletter are trademarks of their respective holders.

Synergex International · 2330 Gold Meadow Way · Gold River, CA 95670
+1 916.635.7300 | 800.366.3472 (North America) | 0800.898.368 (United Kingdom)

Copyright © 2006 Synergex International Corporation. All rights reserved.

Synergy-e-News 02082007