Synergy-e-News | |||||||||||
News and updates for Synergy/DE Developers :: September 16, 2010 | |||||||||||
|
|||||||||||
It’s Easy to Give Your Synergy/DE-based Application a Modern UI Without extensive modification of your application’s logic and data—no matter what platform you are on Attend the SPC next month and see how a Synergy/DE customer took their cell-based application [ view larger image ] At the SPC, Synergy/DE customer Kaman Industrial Technologies, Inc., will demonstrate how they gave their cell-based application a modern UI – complete with screens for customer profiles, backorders, customer sales history, and search. This customer recently completed a pilot project in which programmers completely new to Synergy/DE gave Kaman’s cell-based Synergy application a new Windows UI that uses Windows Forms and WPF. In this session, Kaman will demonstrate their updated application and also describe how they used object-oriented design and techniques during the project. This is just one of the sessions at the conference that will illustrate how you can advance your Synergy/DE-based application by adding new functionality and modernizing the UI—regardless of the platform you’re on. For a complete list of SPC sessions, check out the conference agenda. Visit spc.synergex.com for more information and to register. Ready for the Rush How A Company’s Proactive Practices Paid Off Big CareCentric’s development team decided a couple of years ago that it was in the firm’s best interests to be proactive about migrating its Synergy/DE-based applications to version 9. They wanted their installed base of over 12,000 end users to be able to migrate to Windows Vista or Server 2008 (and now Windows 7) on their schedule instead of having to conform to CareCentric’s. At the time, CareCentric was on Synergy/DE versions 7 and 8 so migrating to version 9 was in order. With applications running on OpenVMS, SCO Unix, IBM AIX, and Windows, CareCentric began the migration effort with OpenVMS, compiling its entire five-million-plus source code library, and sifting through the compiler errors that resulted. “There were quite a few errors,” states CareCentric’s senior technical advisor David Juliette, “but the overwhelming majority of them were the kinds of things that were either questionable or downright bad coding practice, which the old compiler let slide, but the new compiler blew the whistle on and called a foul—the invalid use of subroutine arguments (alpha instead of numeric, and vice versa), commons overlaying records (and vice versa), absurdly defined decimal fields (like d170), non-numeric variables as subscripts, statements on the same line as a BEGIN, and things of this general nature.” And, while the sheer number of these errors was quite large, the solutions to all of them were fairly straightforward—especially considering the application had been worked on by upwards of 50 programmers in its 30-year history. Once the OpenVMS phase of the project was complete, CareCentric moved to the SCO Unix (and AIX) phase. There, developers found that the overwhelming majority of the problems had been mitigated in the OpenVMS phase, and that compiling the application on Unix yielded few errors. Once they had completed the Unix and then the Windows phases of the migration, they began rolling out the new Synergy/DE 9-based version of their application to customers, enabling them to upgrade to version 9 whenever they started acquiring Vista PCs and Server 2008 (and now Windows 7) in their configurations. CareCentric is very pleased that it made this move two years ago, before any of its customers had requested the platform upgrade. States Juliette, “If you have a customer base of any significant size, it only makes sense to be ready for the day when your customers inevitably want to upgrade to Windows Vista, Server 2008, or Windows 7. I believe very firmly that our decision to immediately bring our products into version 9 compliance saved us a tremendous amount of potential pain and suffering, both on our part as well as on the part of our customers. I cannot imagine accomplishing the changes that were necessary to our code under the duress of having to work under a customer’s demanding schedule instead of our own.” Being a software vendor itself, CareCentric also has an appreciation for the importance of running the latest version of software. Says Juliette, “I know from personal experience that it’s always much easier to find a solution to a problem that a customer may be experiencing with one of our own products if the customer is running a reasonably current version.” As an aside, he mentioned, “I must add that every problem I encountered in the version 9 transition was resolved promptly by the Synergy/DE developer support team, who has always provided us with first-rate service for as long as I’ve been calling on them.” In addition to the new platform support, there are several features in version 9 that are beneficial to CareCentric and its users—for one, the inclusion of a scroll bar in the debugger window. “It’s nothing short of a godsend,” raves Juliette. “I can’t tell you how many times information that I needed during a debug session had scrolled off the top of the window in previous versions with no way to retrieve it. If Synergex had changed nothing else in version 9, I would have been thrilled with that one change alone.” About CareCentric CareCentric serves the home health continuum by providing complete business solutions that include software tools and billing and IT services. Their MestaMed® billing system and PharMed® pharmacy system are powered by Synergy/DE. Synergy/DE Tech Tip Error returned when building the SQL Connection server shared library for Oracle 10g on Solaris Question When I try to build the SQL Connection server shared library for Oracle 10g on Solaris (with 64-bit Synergy/DE), the makessqlsrv command returns the following error. What could cause this? HOST=VTX0.so LIB=../lib DBHOME=/orainst/oracle/product/10.2.0 HLCL=../lib/tdb0_9.o XLIB=../lib/tb2.a XLIB2=../lib/tdb2.a RDBMSLIB=/orainst/oracle/product/10.2.0/rdbms/lib DBLIB=-L/orainst/oracle/product/10.2.0/lib -lclntsh VOLPTS= + [ xxcc = xx ] + cc -xtarget=generic64 -G -zdefs -lc -lm -o VTX0.so ../lib/tdb0_9.o ../lib/tb2. a -L/orainst/oracle/product/10.2.0/lib -lclntsh ../lib/tdb2.a -lm -lnsl -lsocket -ldl cc: Warning: illegal option -xtarget=generic64 ld: fatal: file ../lib/tdb0_9.o: wrong ELF class: ELFCLASS64 ld: fatal: File processing errors. No output written to VTX0.so + strip VTX0.so strip: VTX0.so: cannot open file. No such file or directory Answer The following part of the error message indicates that the Sun Studio C compiler for 64-bit is not installed on the system. cc: Warning: illegal option -xtarget=generic64 ld: fatal: file ../lib/tdb0_9.o: wrong ELF class: ELFCLASS64 ld: fatal: File processing errors. No output written to VTX0.so The native C compiler has limited functionality and does not work for this. You must install the Sun Studio C compiler. Note that although this was reported in Synergy/DE 8.3.1b, it applies to all versions of Synergy/DE. This Tech Tip is also an article in the Synergy/DE KnowledgeBase*. KB is a searchable, fully indexed technical library where you can research a multitude of answers to previously asked support questions. *You must have Synergy/DE Developer Support in order to access the Synergy/DE KnowledgeBase. If you do not have Developer Support, contact your Synergy/DE account manager. Quiz Synergy/DE pros, see if you can answer this question! What is the output of the following program? import System.Collections namespace pulling class strings private m_array, @ArrayList public method strings proc m_array = new ArrayList() end public method influence, @strings in req val, string proc m_array.add(val) mreturn this end public method serialize, string record rval, string str, string proc rval = "[" foreach str in m_array rval = rval + "'" + str + "'," if (rval.Length > 1) rval = rval(1:rval.Length-1) rval = rval + ']' mreturn rval end public override method ToString, string record rval, string str, string proc rval = "" foreach str in m_array rval = rval + char(10) + str mreturn rval end public static method op_Explicit, string in req target, @strings proc mreturn target.ToString() end endclass endnamespace main record lobbyist, @pulling.strings proc open(1,o,"TT:") lobbyist = new pulling.strings() lobbyist.influence("congress").influence("president") writes(1,lobbyist) end a. A compilation error b. A runtime error c. ['congress','president'] d. congress president Click here for the answer and explanation. Platform News Read a selection of recent articles Windows OpenVMS Linux |
|||||||||||