Synerg-E-News
 News for Professional Developers 

September 17, 2002

In this edition of Synerg-E-News: Discover how you can use XML with Synergy/DE; Synergy/DE customer HBS chosen by UNITED DRUGS for exclusive agreement to provide pharmacy systems; and more!

Click here to read the Web version of Synerg-E-News.

In this issue:
What is XML, and how can you use it with Synergy/DE? Find out in the Synergy/DE Technology Center…
Synergy/DE customer Health Business Systems (HBS) Chosen by UNITED DRUGS for Exclusive Agreement to Provide Pharmacy Systems. Read more…
How to obtain the full Synergy Language error message being reported...
Are you wrapping your Synergy/DE Installation on Windows? If so, be sure to get the Windows Installation Log Utility. Find out why…
Support Tech Tip: Troubleshooting installation errors on Windows

Ever get out of bed on a freezing cold day and have your feet greeted by a soft, warm carpet instead of a cold stone floor? If so, you may have Synergy/DE to thank! Find out where in the world Synergy/DE is now…

Attention Synergy programmers! Are you new to the many added features of Synergy Language? We are taking reservations for the October 7 - 11 Synergy Language Essentials class now!
   

SYNERGY/DE TECHNOLOGY CENTER
New to Synerg-E-News, the Synergy/DE Technology Center will feature information about current technologies and how they can be used with Synergy applications. Look for a new item in every issue!

This week, find out…

What is XML, and how can you use it with Synergy/DE?
XML (Extensible Markup Language) is a standard that specifies a syntax that enables you to create your own markup language. It wraps all data in tags that identify what each piece of data represents. As the name suggests, you can define an unlimited number of tags to define the data in the XML document. XML looks similar to HTML in that it employs the start-tag/end-tag mechanism to delimit the data. XML is used to store and transmit information both on and off the Web.

Synergy/DE 7.5.3 will provide an XML API that enables you to parse and assemble XML documents. The Synergy XML API gives you direct access to XML from within your Synergy programs. It enables you to:

- Parse an XML file or string into a memory-based XML document that represents a DOM tree. Parsing the file means to disassemble the XML so that your Synergy program can process it.

- Iterate through the DOM tree to access the XML data. This entails finding the root element, being able to iterate recursively through its children, and being able to get text and attributes for all these elements.

- Assemble Synergy data into a memory-based XML document. This includes being able to specify an element's children, attributes, and text values.

- Write the contents of a memory-based XML document to a file or XML string.

Click here for more information about XML.

^ top

SYNERGY/DE CUSTOMER HEALTH BUSINESS SYSTEMS (HBS) CHOSEN BY UNITED DRUGS FOR EXCLUSIVE AGREEMENT TO PROVIDE PHARMACY SYSTEMS
Health Business Systems (HBS) announced that they have signed an exclusive endorsement agreement with UNITED DRUGS, America's premier buying cooperative. Through this agreement, HBS will offer its Synergex Synergy/DE-based retail pharmacy software solution to the more than 1500 members of the UNITED DRUGS cooperative.

Designed to save time in the fast-paced retail pharmacy environment, HBS' Retail Pharmacy Management System includes features such as multiple-claim capabilities for third parties, workflow solutions, a new delivery module, an optional interfaced IVR (automated telephone refill system), POS packages, and more.

Read the press release in its entirety.

^ Top

HOW TO OBTAIN THE FULL SYNERGY LANGUAGE ERROR MESSAGE BEING REPORTED
There has been some discussion on the Synergy-l listserv about the ability to obtain the full Synergy Language error message being reported. The consensus of the Synergy developers participating in the listserv discussion was that this is not possible. This is not correct, however, as the full error information can be obtained using a different programming technique.

The synergy-l discussion focused on XCALL ERTXT, which was designed to return the error text directly out of the Synergy/DE message text file, DBLDIR:syntxt.ism. It was not intended to do string replacement, because you can xcall this routine at any time, whether or not an error has actually occurred.

To get the full error text, you can use the $ERR_CATCH error trapping available in Synergy/DE 7.3.1 (and higher versions), in conjunction with the %ERR_TRACEBACK function.

In the example code below, ROUTINE_TWO tries to call a subroutine that does not exist. As you can see, the routine ERR_TRACEBACK shows the full error text, including the appropriate string replacement.

A sample program:

.main
record
       err_text ,a256
.proc
       open(1, o, 'TT:')
       onerror ($ERR_CATCH) caught
       xcall xsubr('routine_one')
       offerror
       stop

caught,
       offerror
       writes(1, "")
       writes(1, "error:"+%string(%error))
       writes(1, "")
       xcall ertxt(%error, err_text)
       writes(1, "ertxt:"+%atrim(err_text))
       writes(1, "")
       writes(1, "%err_traceback:")
       while(%err_traceback(err_text))
           writes(1, %atrim(err_text))
       stop
.end

.subroutine routine_one
.proc
       writes(1, "In routine one")
       xcall xsubr('routine_two')
       xreturn
End

Subroutine routine_two
.proc
       writes(1, "In routine two")
       xcall xsubr('routine_three') ;this routine does not exist
       xreturn
End

Here is the output from the sample program:

example output

In routine one
In routine two

error:511

ertxt:Cannot access external routine %s

%err_traceback:
%DBR-E-RTNNF, Cannot access external routine ROUTINE_THREE
%DBR-I-ATLINE, At line 35 in routine ROUTINE_TWO (error_test.dbl)
%DBR-I-ATLINE, At line 28 in routine ROUTINE_ONE (error_test.dbl)

Please note that, while this issue was raised on Synergy-l, support issues and feature requests posted on Synergy-l are not tracked by HelpDesk Support. To report such issues, please contact Support directly so that the problem or item can be appropriately addressed.

^ Top

ARE YOU WRAPPING YOUR SYNERGY/DE INSTALLATION ON WINDOWS?
If so, be sure to get the Windows Installation Log Utility, wilogutl.exe. This utility will help you analyze log files from a Windows Installer installation, and it offers possible causes of errors in the log file. (Since you are not displaying Synergy/DE installation screens and not displaying non-critical installation errors, you will rely on the windows installer log files to report the results of your installation.) Wilogutl.exe may be run in quiet mode or with a user interface, and it generates reports as text files.

Example:
If you encounter an error, such as:

"The wizard was interrupted before SynergyDE 7.5.1c could be completely installed. Your system has not been modified. To complete installation at another time, please run setup again."

you can determine which action caused the installation to end by running wilogutl and reviewing the information in its Error box.

If you did not have this utility, you would have to manually search the log file and interpret the log information yourself. If an installation has multiple errors, the log utility has the ability to generate an html format of the logfile. This html page would allow you to navigate through the log file error by error rather than having to scroll through every line of the log file.

Click here for more information.

(Please note that there is a typo in Microsoft's documentation of the utility—the example command line says "WiLogUtil" but should actually be "WiLogUtl" without the "i.")

^ Top

SUPPORT TECH TIP: TROUBLESHOOTING INSTALLATION ERRORS ON WINDOWS
If an error occurs during a Synergy/DE installation on Windows, you can turn on logging to troubleshoot the problem.

The following command may be used to log an installation. This command may be run from Start > Run, or from the command line:

setup.exe /v"/l*v path:/logfile"

For example,

setup.exe /v"/l*v c:/install.log"

where c:/install.log is the specified path location and logfile name for output.

NOTE: Do not insert a space between /v and the quotation mark.

If you cannot determine the error from the logfile, e-mail the file, along with the corresponding error to Synergex Technical Support.

^ Top

WHERE IN THE WORLD IS SYNERGY/DE NOW?
Ever get out of bed on a freezing cold day and have your feet greeted by a soft, warm carpet instead of a cold stone floor? If so, you may have Synergy/DE to thank! The Headlam Group (Headlam), the number one carpeting distributor in the world, uses Gould Hall's Synergy/DE-based Enterprise™ application (including its xfServerPlus Web-enabling tools) to manage the entire distribution of their 35 trade brands of floor coverings. Enterprise automates the entire fulfillment process—from the minute an order is received, to the electronic transmission of the order to the fork lift, to the automatic cutting and packaging of the order, to the delivery of the order to the customer ... all within 16 hours of the order being placed!

"Enterprise enables us to supply our customers with products from all of the leading floorcovering manufacturers in the UK, Continental Europe and North America," states Tony Brewer with Headlam. "By automating our entire distribution process, we are able to fill our orders quickly, exactly, and efficiently."

See Headlam's facilities in action...

Have an interesting story about Synergy/DE? Tell us about it! Don't worry, we'll do all the writing—just send your ideas to Liz Marmins or give her a call at +1-800-366-3472 or at +1-916-635-7300. If your story is published in Synerg-E-News, you'll receive a Synergex

^ Top

IMPROVE EXISTING CODE AND MORE WITH THE SYNERGY LANGUAGE ESSENTIALS CLASS
"Although I had some experience with the Synergy Language, the Synergy Language Essentials class really filled in the gaps! I learned certain shortcuts and nuances of the Language that otherwise would have taken me months to learn from the documentation alone. I highly recommend this class to anyone new to the Synergy Language."

Mark Hockett
Sites By the Sea

There are still spots left in the Synergy Language Essentials class—sign up today! On October 7-11, discover the power of Synergy Language through hands-on exercises, lecture, and applied examples.

Also, don't forget to sign up for these upcoming Synergex class offerings:

- Synergy/DE UI Toolkit Essentials, October 14 - 18, Gold River, California

- Synergy Language Essentials, December 2 - 6, Gold River, California

- Synergy/DE UI Toolkit Essentials, December 9 - 13, Gold River, California

Register today!

^ Top

Click here to read the Web version of Synerg-E-News.
To view past headlines from Synerg-E-News, see the Synerg-E-News Archive.

To remove yourself from the Synerg-E-News mailing list, click here to send an e-mail message with the following command in the body of your message: unsubscribe synerg-e-news

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

Copyright© 2002 Synergex International Corporation. All rights reserved

Synerg-E-News 09172002