July 2003

 

More About eDeveloper and Enterprise Server Version 9.4 Service Pack 1

 

 

 

 

 

Dear Developer,

We are happy to introduce eDeveloper Enterprise Server Version 9.4 Service Pack 1.

eDeveloper 9.4 Service Pack 1 is an improved and updated version of the eDeveloper 9.4 release.

Read the information below to find out more about this latest version of eDeveloper.

For more information about eDeveloper 9.4, refer to the 940.htm file provided with this installation. 

 

 

General Information. 2

n     Installing Service Pack 1. 2

n     eDeveloper 9.4 Samples Package. 2

n     eDeveloper for iSeries SQL Client 2

n     eDeveloper for iSeries ISAM client 2

Fixed Problems and Change of Behavior in Version 9.4 SP1. 3

n     Browser Client – Task Caching – Current Language Character Set 3

n     Server Engines – Graceful Termination. 3

n     Messaging Connectivity. 3

n     Tree Control Images. 3

n     Language Translation of Internal Message Boxes. 3

n     Trim Function (QCR 4350) 3

n     Numeric Variables of a Left-Aligned Picture (QCR 450461) 3

n     Table Row Highlighting (QCR 138940) 3

n     Password and Multi Line properties of Browser Client Edit control 3

n     eDeveloper Error Log. 3

n     Tree Control Related Events Names – Hebrew Language. 3

New Features and Modifications in Version 9.4 SP1. 4

n     Browser Client – Task Caching. 4

n     Flow Monitor – Dynamic Append of Variables. 4

n     Variable IO – Supporting Line Format 4

n     IN function. 4

n     eDeveloper Components – Execution Indication. 4

n     Cross-Contexts Event Posting. 4

n     Variable IO - XML Functions support 4

n     Order By Left Outer Join Variables. 4

n     Expression Editor’s Program List – Arguments View.. 4

n     UTF8 Support 4

n     Tree Control – Expand and Collapse Node Events. 4

n     Tree Control – Parked Images. 5

n     Tree Control – Edit Node Event 5

n     Deferred Transaction Cache Logging. 5

n     COM Objects – Retrieval of Two-Dimensional Arrays. 5

n     Overwriting a Table Entry – Advanced Mode. 5

n     Direct SQL – Binding Variables Support 5

n     Web Services – Header Information. 5

n     Blob Columns – Default Mapping for Oracle. 5

 

 

General Information

(Top)

 

n       Installing Service Pack 1

Installing eDeveloper 9.4 Service Pack 1 using the Upgrade option in the Installation wizard automatically replaces the installed files that have been changed since the last installed version.

n       eDeveloper 9.4 Samples Package

The Samples package that demonstrates the new features of eDeveloper 9.4 has been updated with additional samples. You can download the updated samples package from our FTP site using the following link: http://ftp.magicsoftware.com/v9product

/94samples/eDeveloper94Samples.exe

 

n       eDeveloper for iSeries SQL Client

eDeveloper Version 9.4 Service Pack 1 provides the iSeries SQL client 9.4-1 release for eDeveloper. You can read more about it in the README400sql.htm file.

 

n       eDeveloper for iSeries ISAM client

eDeveloper Version 9.4 Service Pack 1 provides the updated version of the iSeries ISAM client 9.4-1 for eDeveloper. You can read more about it in the README400.htm file.

 

 

+

Fixed Problems and Change of Behavior in Version 9.4 SP1

(Top)

 

n       Browser Client – Task Caching – Current Language Character Set

The Browser client feature using the new Task Caching mechanism requires a modification in the ANSI to Unicode translation environment setting.

The character set of the language in use should be set using the Standard name and the Java name.

For example, if the language of a browser client application is Korean than the environment setting should include both the “MS949” Java name and the “windows-949” separated by slash.

For example:

MS949/windows-949

 

You may use the following link to find the Standard name and Java name of various character sets:

http://www.devsphere.com/mapping/docs/guide/encodings.html

 

n       Server Engines – Graceful Termination

Before version 9.4 SP1, any request to terminate the server engine would abruptly terminate the engine in a way that any running thread was aborted and any kept context was cleared.

 

Now, when an engine is set to terminate it terminates gracefully, meaning that the engine ceases opening new contexts and only keeps on serving requests of already opened and kept contexts, namely contexts of Browser Client applications. Only after the existing contexts are terminated by a proper exit of the context or by exceeding the context inactivity timeout, does the server engine terminate.

 

You may set a timeout value for the termination procedure and instruct the engine to terminate abruptly if there are still opened contexts after the set timeout.

 

The timeout can be set for every terminate operation in each of the following ways:

q       RqRtTrmEx function – An extension of the RqRtTrm function that supports an additional parameter of the timeout.

q       Command line requester – Sets the timeout using the –Timeout= parameter.

q       SNMP – In SNMP monitors that support single parameters, you may set the timeout in the first parameter after a preceding comma delimiter, such as host/port,timeout. In other monitors, the second parameter of the Terminate operation is the termination timeout.

n       Messaging Connectivity

In order to dynamically define the place of the messaging component and its configuration files, two new logical names have been added:

 

MessagingComponentDir - This points to the place of the messaging component. It must end in a slash, depending on the Operating System. For Windows this is \.

MessagingErrorLogFile - This is the name of the error log. The file will be placed in the MessagingComponentDir

 

Some new errors have been added. New functionality has been added to the Error List screen, which lets the developer export and import the error list. If you make any changes to the error text, you can save the changes using the export / import functionality.

 

n       Tree Control Images

The Expanded Image Index and Collapsed Image Index properties now serve as the default image of the Expanded and Collapsed states of the tree node, unlike in the previous version where these images were only used for the non-parked state. This means that from this version on, if an image index is set for the Expanded Image Index property but no image is set for the Parked Expanded Image Index, the same image will be displayed regardless of whether or not the Tree node is parked on.

 

n       Language Translation of Internal Message Boxes

Strings of internal message boxes, such as the Confirm Delete operation, were not translated by the Multi-Language Support mechanism.

 

n       Trim Function (QCR 4350)

The Trim function behavior was slightly modified in version 9 so that null characters at the end of the string were trimmed. This new behavior is now only available by setting a special flag as follows:

[MAGIC_SPECIALS]

SpecialTrimTrailingNulls=Y

 

In the default behavior of the Trim function trailing, null characters are not trimmed.

 

n       Numeric Variables of a Left-Aligned Picture (QCR 450461)

In previous versions, dropping a numeric variable of a left-aligned picture kept the Horizontal alignment property of the edit control inherited with a value of Right, which contradicted the field’s picture. Starting from this version, dropping a numeric variable of a left-aligned picture automatically breaks the Horizontal alignment property of the control to the Left value.

 

n       Table Row Highlighting (QCR 138940)

In previous versions the row highlighting of the current record was set only after the completion of the Record Prefix handler of that record. This behavior was fixed, and now the row highlighting is set before the Record Prefix.

 

n       Password and Multi Line properties of Browser Client Edit control

The Password and Multi-Line properties of a browser client edit control only affect the control when the control is placed on the form. Therefore, these properties are now only available at the field level and are always disabled in the property sheet of the actual HTML control.

n       eDeveloper Error Log

The eDeveloper error log used to be created as MGFLWMTR.LOG. Now the error log file name is MGERROR.LOG

 

n       Tree Control Related Events Names – Hebrew Language

The Hebrew translation of several tree control events has been changed. This is not noticeable when a 9.4 application is directly opened by a 9.4 SP1 engine. Importing a 9.4 Hebrew application to 9.4 SP1 may loose references to these events.

 

 

 

 

New Features and Modifications in Version 9.4 SP1

(Top)

 

n       Browser Client – Task Caching

The browser client technology of eDeveloper has gone through a major performance enhancement by enabling the end-user’s browser to locally cache the logic segments of the application. In this way a significant amount of data is retrieved from the client’s cache instead of being transmitted anew for every task.

 

The browser client caching mechanism is aware of changes introduced to existing tasks and will cache and utilize the modified task.

 

This mechanism is affected by three new environment settings:

Two new environment properties under the Server tab of the Setting\Environment dialog: Browser client cache path and Browser client cache alias and an additional, application specific setting of Revision.


For more information on the environment settings, refer to the Magic Reference Guide.

n       Flow Monitor – Dynamic Append of Variables

You can set your application to dynamically append the variables list to the flow monitor log at runtime using the new FlwMtrVars function.

 

For more information on the FlwMtrVars function, refer to the Magic Reference Guide.

n       Variable IO – Supporting Line Format

The Media type option for Variable introduced in 9.3 SP4 only supported the None format mode. The Media type option for Variable now also supports the Line format option.

 

For more information on the IO media type Variable, refer to the Magic Reference Guide.

n       IN function

The IN function is now available to be used either as part of your regular application logic and as part of the Magic Where clause of a task that handles an SQL table. Using the Magic IN function in the Magic Where Clause property will be automatically translated to the expected syntax of the underlying DBMS.

 

For more information on the IN function, refer to the Magic Reference Guide.

n       eDeveloper Components – Execution Indication

An application can sometimes be executed as the main application and sometimes as a component of another application. The logic of the application may vary according to its execution.

 

A new IsComponent function lets you identify whether an application is executed as a component application or as the main application.

 

For more information on the IsComponent function, refer to the Magic Reference Guide.

n       Cross-Contexts Event Posting

The Raise Event operation was enhanced to enable posting an event from one context to another. This can be done only on a background enterprise where several contexts may be handled by the same process.

 

Posting an event from one context to another can be done by first naming the target context using the CtxSetName in the target context, and then raising the event using the Raise event operation by specifying the name given to the target context.

 

For more information on the CtxSetName function and the enhanced Raise Event operation, refer to the Magic Reference Guide.

n       Variable IO - XML Functions support

The XML function used to handle an XML document defined only as a designated IO of an XML Direct Access media type. The XML Direct Access media type can only refer to physical XML files.

Now you can use the XML functions to handle XML documents defined by a Variable media type. The Variable media type lets you keep an XML document as a variable in the memory.

 

For more information on the XML-related functions and the Variable IO, refer to the Magic Reference Guide.

n       Order By Left Outer Join Variables

Sort settings of a task that its segments are variables of a left outer join link operation will produce a proper Order by clause in the result select statement.

 

n       Expression Editor’s Program List – Arguments View

You can browse through the expected arguments of a program by zooming in from the program list available in the expression editor dialog.

 

n       UTF8 Support

You can convert eDeveloper ANSI strings to UTF8 and vice versa using two new functions: UTF8ToAnsi and UTF8FromAnsi.

 

For more information on these functions, refer to the Magic Reference Guide.

n       Tree Control – Expand and Collapse Node Events

The Expand and Collapse node events may be triggered on tree nodes that are not parked on. Therefore, retrieval of the tree node value and the tree node level of the expanded\collapsed node cannot be done using the TreeLevel and Tree Value functions.

 

These values are now transmitted as arguments of the Expand Node and Collapse Node events. When creating a handler on such an event, eDeveloper suggests that you create two virtual variables. These variables are updated with the node value and level when the Expand\Collapse event is triggered.

 

n       Tree Control – Parked Images

In the previous version, you could only specify a single image for the parked tree node, regardless of the tree node expanded/collapsed state.

In this version the parked image has been split into two separate images:

q       Parked expanded image index

q       Parked collapsed image index

 

This way you can set different images for every state.

 

n       Tree Control – Edit Node Event

The edit action of a tree node is now available using a new Edit Node internal event.  In modify mode, a secondary left click on a tree node triggers the event and causes the tree node to enter edit mode. You can switch the tree node into edit mode by directly triggering the Edit Node event.

 

n       Deferred Transaction Cache Logging

A new Flow Monitor activity filter, Transaction Cache, lets you view the records’ manipulation instructions of a deferred transaction.

 

To view the transaction cache, just activate the Transaction Cache activity filter in the flow monitor.

 

n       COM Objects – Retrieval of Two-Dimensional Arrays

A single dimensional array value to be retrieved from a COM object can be retrieved using a Vector field. The cell model of the vector field should match the data type of the array.

 

From this version on, you can also retrieve two-dimensional arrays using a vector field whose cell model is also a vector.

 

n       Overwriting a Table Entry – Advanced Mode

The table object of an application in the Table repository differs from other application objects in that its internal elements, columns and indexes, can be referenced from other objects in the application.

 

When overwriting a table entry with another table entry, by default, the column and index internal references are kept according to the existing references of the overwritten table following their sequential order.

 

A new Advanced button on the Overwrite Table dialog shows advanced options to finely tune the overwrite procedure.

 

n       Direct SQL – Binding Variables Support

You can define Direct SQL statements by binding variables. This options enables you to improve the performance of such statements.

 

For more information on Binding variables, refer to the Magic Reference Guide.

 

n       Web Services – Header Information

Header information of a Web Service call can be retrieved as an argument of the call operation. The Web Service Assist mechanism creates a corresponding argument entry for the header information.

 

n       Blob Columns – Default Mapping for Oracle

Blob columns in Oracle tables are mapped by eDeveloper to the LONGRAW type.

The LONGRAW type has some restrictions that are no longer encountered when the columns are mapped to the BLOB type.

 

Instead of explicitly setting the Type property of every blob column to BLOB, you may instruct the Oracle gateway to automatically map every blob column to the BLOB type by placing the following flag in the Database Information property of the Oracle database entry:

Default_Blob_to_Blob=Y




 

 

The eDeveloper Team