(c) Copyright 1999-2003 International Business
Machines Corp. All rights reserved.
* Trademark of IBM Corporation, Licensed
materials - Property of IBM
Before proceeding with this document and
the product installation, review the latest
version of the README NOTES (readme.html
) on the product Web Site at http://www.ibm.com/software/data/db2/everyplace/ It is recommended that the Web version
of these RELEASE NOTES, as well as other
product documentation, be used when installing
and using the product.
DB2 Everyplace Mobile Application Builder (MAB) is an integrated development environment (IDE) that allows you to produce complex relational DB2 Everyplace database applications without the need for programming skills or specific target device attribute knowledge. These "thick client" applications are produced in a programming language that allows logic complexity and usability beyond applications that use wireless markup languages. Typically the applications can work with occasional connection/synchronization, and critical data resides locally on the device.
Browsing to remote database for table metadata
You can now use a live connection to obtain metadata for device-side tables and columns. DB2 and Oracle databases are supported. In previous versions, you were required to supply a table DDL in a text file and import the DDL into MAB. This feature is not documented in the MAB Setup and User's Guide. To import a table from a remote database table:
- Provide the path to the JDBC driver on your workstation.
- Click File -> Preferences. The Preferences window opens.
- Expand the Application node to see application preferences.
- Click JDBC driver locaton.
- In the right panel, specify the DB2 or Oracle database version, and the directory where the JDBC driver is located.
- Click OK.
- Restart MAB so your changes take effect.
- Right-click Tables in the MAB Project pane, and click Import table from a remote database table from the pop up menu. A Connection window opens.
- In the Connection window, select the type of database you want to support, and fill in all other required fields.
- Click OK. An Import window opens.
- In the Import window, select tables and columns from the Available tables list, and click > to move them into the Tables to import list. You can select a table, which will import all of the columns in that table, or you can select individual columns. You can also select multiple tables or columns simultaneously.
- Optional: Rename the table.
- Rightclick the table in the Tables to import list. A window opens where you can specify a new name for the table.
- Specify a new name, and click OK.
- Click Import. The table metadata will be written into a DDL file in the
Projects\
directory, and will also appear in the MAB Project pane under the Tables node.
Browsing to remote database to populate tables on an emulator or device
You can use a live connection to obtain application test data for device-side tables and columns. This avoids the manual procedures that were previously required, such as exporting or importing or data entry in order to populate tables. This feature is not documented in the MAB Setup and User's Guide. MAB creates an initialization application, similar to the NurseInit sample application, that you can run on the emulator or device to populate the tables you need for your application. To populate tables on an emulator or device:
- Click Build -> Populate from the main menu, or click the Populate icon on the toolbar. A window opens asking if you want to create a new connection.
- If you have an existing connection to the database you want to use to populate the device or emulator, click No. The Population dialog opens, with the tables you imported into the project listed in the Available tables list.
- If you need to create a new connection, click Yes, and the Connection window opens. In the Connection window, select the type of database you want to support, and fill in all other required fields. You must provide the path to the JDBC driver on your workstation. Click OK. The Population dialog opens, with the tables you imported into the project listed in the Available tables list.
- In the Available tables list, select one or more tables. You can view the data from the selected tables in the Population list.
- Click OK. An application named projectnameInit is created in a new
\data
folder under your project folder.- Install and run this application to initialize the tables used in your main application.
Reordering events
You can now change the order in which events are executed for a form or a control. Right-click an event in the Properties and Events pane and click Reorder events to open a window where you can reorder existing events. Detailed instructions are provided in the documentation.
New SQL modification options
In past versions, when you modified the SQL for a form or a control, there was no option to go back and have MAB regenerate the SQL. You can now select to use edited SQL or to have MAB regenerate the SQL with the next project save. You can also manually delete modified SQL if you delete the form or control that the modified SQL is associated with. Detailed instructions are provided in the documentation.
Palm application category option
An option has been added to allow you to specify the category under which your application will appear on a Palm device or emulator. The category you specify will be created, if it does not already exist, in the Palm application launcher. Select Palm OS in the Project pane and modify the Category property in the Properties and Events pane.
Palm five-way navigation
An option has been added to allow you to enable Palm five-way navigation for your application. This allows users to navigate among fields or lists using the navigation button on the device. Detailed instructions are provided in the documentation.
BLOB control support
Support has been added for a new BLOB control, that allows users to display a GIF or JPEG image on a device. This control is supported for all Java target platforms. Use of this control requires BLOB support in the device Java Virtual Machine. This control has been tested with the IBM J9 Javatm Virtual Machine. You can add a Save image action to this control that allows users to save the image on the file system on the device. You can add a Choose image action to this control to display a file dialog that allows users to select an image to display on the control. This action allows the user to insert an image from the device into the database. Detailed instructions are provided in the documentation.
Setup changes for Symbian Crystal and Symbian UIQ targets
- It is no longer necessary to create a Windows
Epocrootuiq
system variable for Symbian UIQ targets.- You must now specify the full path to the directory where the Symbian SDK is installed, including the drive, in the Symbian Tools node in the Preferences window. In version 8.1.2, you only had to specify the drive. Detailed instructions are provided in the documentation.
Password masking for Java platforms
Password entry is now masked when a user is entering a password in the database preferences dialog in a Java application.
Support for synchronizing encrypted databases in Java applications
Support has been added to allow synchronization with encrypted databases in Java applications.
Smarlinker optimization
Generated Java code, for all Java target platforms, is now optimized using the IBM SmartLinker to reduce the application size and memory footprint.
Documentation added for linking forms based on composite primary keys
Documentation has been added to explain how to link forms based on composite primary keys. In the MAB documentation, see the section called "Generating queries with multiple parameters" under Examples -> Defining database queries.
Documentation added for Java scripting
Documentation has been added to explain how to access MAB-generated Java code using Java scripts. In the MAB documentation, see the section called "Accessing MAB-generated code using Java scripts" under Tasks -> Scripting in Mobile Application Builder.
Host variable support for Java platforms
You can use host variables in Java applications. In previous versions, host variables were only supported for Palm applications. Detailed instructions are provided in the documentation.
Improved color support for Java platforms
You can specify color settings in Preferences for forms, controls, and other applicable resources at a project level. You can also specify color settings for individual elements in the Properties and Events pane. You can select whether to use application settings or individual settings for each applicable control.
New application-level font settings
You can specify font settings in Preferences for text display in your application at a project level. You can also specify font settings for individual elements in the Properties and Events pane. Detailed instructions are provided in the documentation. You can select whether to use application settings or individual settings for each applicable control.
Image support for Java platforms
You can display a .gif image on forms and controls using a Form Bitmap control. In previous versions, images were only supported for Palm applications. To display an image on a form or control for Java applications, follow the basic instructions in the documentation for "Creating and displaying bitmaps" for Palm applications, substituting a .gif image for the .bmp image in the documentation. Images cannot be larger than the screen size or they will not display properly. The .gif image is not packaged into the jar, but is installed into the same directory as the jar through the application installable. When creating a Generic Java application that uses images, the application developer must ensure that the application installable installs any .gif images into the appropriate directory.
Support for developing Symbian OS 7.0 UIQ applications
Support for application development for Symbian OS 7.0 UIQ devices, such as the Sony Ericsson P800, is now supported. See the documentation for detailed instructions on how to set up and configure your environment to develop and test Symbian UIQ applications.
Support for developing Sharp Zaurus applications
Support for application development for Sharp Zaurus devices, such as the Zaurus 5500/5600, is now supported. See the documentation for detailed instructions on how to set up and configure your environment to develop and test Sharp Zaurus applications.
Barcode scanning support for WinCE applications
You can now develop applications with barcode scanning for WinCE. See the documentation for detailed instructions.
Radio button support for Java platforms
You can add two or more check box controls and configure them to create radio buttons for your application. Detailed instructions are in the online help. Support for this control varies by target platform.
Java language application support
This version combines the previously available capability of producing C language applications for Palm with new capability for generating Java language applications for supporting devices. See Device/OS support for more information on supported devices and operating systems.
Paths for prerequisite tools paths set within MAB
At launch, MAB automatically does any procedures necessary to link Palm prerequisite tools properly. You no longer have to manually set the System Environment PATH variable, do Bash shell commands, etc. Just install the tools using their separate installation programs (default file system paths recommended), then indicate where you have installed them when you first start MAB by going to File->Preferences->Palm Tools.
Other new preference settings
There are other new preference settings. For some values, there are defaults. Review the default settings and set them the first time you start MAB after installation. You only need to set these preferences once. You only need to set preferences for the target device type that you are developing for. Here are typical suggested settings from the File->Preferences menu:
- Application->WinCE JVM Preferences
Selecting a JVM to be used on the WinCE device will cause device default installation settings to be filled in. You probably do not have to modify these unless your application installation corporate standards differ.
- Symbian Tools
Default drive for where you installed the Symbian Crystal Communicator SDK.
- Win32 Emulation Path Requirements
Specify the location of the Win32 database engine and application tables. The Win32 component must be installed during the DB2 Everyplace installation. If you did not select this component during installation, you must re-install the engine with this component selected. You must also create and populate tables for your application.
Breakup of large C code applications into multiple C files.
C code applications are now broken up into multiple C files, to avoid previous limitations involving C code compilation for large applications. When C code applications are compiled, the assembler generates a symbol table containing instructions on how to execute the application. The assembler is not able to jump more than 32K between instructions. This limitation caused problems in the past with large MAB applications. This solution prevents this problem.The following table provides the names of new files that are now generated when a Palm C Code application is built:
Name of file in version 7.2.1 or earlier Names of files in version 8.1 ibm_pab.c MAB_Main.c
MAB_Common.h
MAB_Tables.h
MAB_Tables.c
MAB_Forms.c
MAB_FormHandler.cThe following table provides a list of files that have been renamed for version 8.1:
Name of file in version 7.2.1 or earlier Name of file in version 8.1 ibm_pab.def MAB.def ibm_pab.h MAB.h ibm_pab.makefile MAB.makefile ibm_pab.rcp MAB.rcp
New suffix for project names
MAB project files now end in the suffix .mab instead of .pab. Either is accepted. If you open a project built in an earlier version of MAB, your application is migrated, and a file with suffix .mab is created. Your old application project file will be renamed, not removed.
New directory structure
The MAB directory structure created at installation has a few changes. A new\Projects
directory is created to hold user-developed applications, and the\Samples
directory has been moved under it. In addition to the previous samples for the Palm platform, there are now samples for Symbian Crystal (for Nokia Communicator), and WinCE/PocketPC. There is also aWin32
directory with utilities to aid in running WinCE/PocketPC applications on the Windows desktop. When MAB is started for the first time, new projects will by default be located in the\Projects
directory. The file browser, when searching for an existing project, will also open there.
Open recent projects from the File menu
Recently opened projects can be opened from the File menu directly without browsing.
Physical delete option available for DELETE actions
You can add an option to a Delete record action that will cause the record deletion to occur on the client (mobile) database only. This option is applicable for users who want to delete a record from the mobile database, but do not want to reflect the delete action on the server (enterprise) database when they synchronize.
This version can be used for building and testing visual DB2 Everyplace applications for the following target devices:
Device/OS | Generated code |
Palm OS 3.5 or later. | C code |
Symbian OS v6.0 for devices such as Nokia Communicator 92XX series (620x200 pixels) | Javatm code |
Symbian OS v7.0 for UIQ devices such as Sony Ericsson P800 | Java code |
WinCE/PocketPC/PocketPC 2002/PocketPC 2003 for devices with StrongARM processors such as the Compac iPAQ 38xx series or XScale processors for devices such as the iPAQ 3950 and 3970.** | Java code |
Embedded Linux for the Sharp Zaurus 5500/5600. | Java code |
Any other device supporting the PersonalJava 3.0.2 specification API at JDK 1.1.7.* | Java code |
* The PersonalJava API has been transitioned by Sun Microsystems to the J2ME (http://www.java.sun.com/j2me) Connected Device Configuration (CDC), Personal Profile, which includes JDBC, SQL, and AWT classes.
**Because the XScale is backward compatible with software compiled for the StrongARM processor, software designed to run on the StrongARM chip will run on the XScale as well.
Migration of pre-version 8.1 project files to work with version 8.1
A migration function is provided to update each previous version project file you attempt to open. A copy of the project file you migrate is saved in the project directory with the suffix "PREVIOUS_VERSION." If you do not choose to migrate a project file when prompted, it will not open in Mobile Application Builder version 8.1.
To migrate a project file created in versions prior to 8.1 to work with version 8.1:
- Open Mobile Application Builder version 8.1.
- Select File -> Open project.
- Mobile Application Builder detects that the project file is from a previous version. A migration dialog opens informing you that you are loading a previous version project file.
- Select Yes to migrate the project file to work with version 8.1.
- If no is selected, nothing is loaded.
- If yes, the previous version is backed up using its name with a suffix of "PREVIOUS_VERSION."
- Migration is complete and the project opens.
Notes: A project file migrated to version 8.1 or created in version 8.1 cannot be opened in previous versions of Mobile Application Builder.
Note: Host variable support can be used to handle this issue. Update the host variable when a list is clicked and in the next form, use the updated value as the Selection Criteria. Columns used in the DISTINCT SELECT statement should be used to update the host variable.
static void Button1Form8Script1(EventPtr event)
. For nonEnglish language versions, the
translated name of the word is used. For
example, the German word for 'Button' is
used in the previous sample script. However,
because the characters must be restricted
to the allowable character set for the compiler,
an underscore '_' character is substituted
for translated characters that are not in
this allowable character set.
The following list represents Known Problems from earlier versions that have been fixed in version 8.1, version 8.1.1 FixPak, or version 8.1.2 FixPak.
#define TRIMCR true.
See the "Troubleshooting" section
in the Mobile Application Builder online
help for more detailed information.
IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to:
IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.
For license inquiries regarding double byte (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to:
IBM World Trade Asia Corporation
Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106, Japan
The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice.
Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.
IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you.
Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact:
IBM Canada Limited
Office of the Lab Director
1150 Eglinton Ave. East
North York, Ontario
M3C 1H7
CANADA
Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee.
The licensed program described in this information and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement, or any equivalent agreement between us.
Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurements may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment.
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.
All statements regarding IBM's future direction or intent are subject to change or withdrawal without notice, and represent goals and objectives only.
This information may contain examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental.
COPYRIGHT LICENSE:
This information may contain sample application programs in source language, which illustrates programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs.
Each copy or any portion of these sample programs or any derivative work must include a copyright notice as follows:
(C) (your company name) (year). Portions of this code are derived from IBM Corp. Sample Programs. (C) Copyright IBM Corp. _enter the year or years_. All rights reserved.
This product includes software developed by 3Com and its contributors.
Copyright (c) 1998 3Com/Palm Computing Division. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE 3COM AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 3COM OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The following terms, which may be denoted
by an asterisk(*), are trademarks
of International Business Machines Corporation
in the United States, other
countries, or both.
|
|
The following terms are trademarks or registered trademarks of other companies:
Microsoft, Windows, and Windows NT are trademarks or registered trademarks of Microsoft Corporation.
Java or all Java-based trademarks and logos, and Solaris are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
Tivoli and NetView are trademarks of Tivoli Systems Inc. in the United States, other countries, or both.
UNIX is a registered trademark in the United States, other countries or both and is licensed exclusively through X/Open Company Limited.
Other company, product, or service names, which may be denoted by a double asterisk(**) may be trademarks or service marks of others.