------------------------------------------------------------------- VisualAge Generator Templates 3.0 Standard Functions Fixpak (Delivered in VisualAge Generator 3.0 fixpak 5) ------------------------------------------------------------------- README.TXT Topics ------ - What's new - Contents - Procedures - Notes, Limitations and Known Problems ------------------------------------------------------------------- What's new ------------------------------------------------------------------- Before installing VisualAge Generator Templates 3.0 Standard Functions fixpak, you should have installed VisualAge Generator 3.0 fixpak 5. If you install VisualAge Generator Templates full package (with Customizing Support) then it is not necessary to install VisualAge Generator Templates 3.0 Standard Functions Fixpak. This fixpak is at the same level as the VisualAge Generator Templates (with Customizing Support) version 3.0 fixpak 3. Main enhancements since previous fixpak ------------------------------------------------------------------- The main enhancements of VisualAge Generator Templates version 3.1 have been integrated in this fixpak for version 3.0. - NLS Support: . Generation of national TUI or GUI applications, including for the DBCS environments . Generation of right-to-left organized GUI views and sub-views. - Generated Servers: adapted to VisualAge Generator Java-oriented functions. - Product Documentation: Since it corresponds to the same level of specifications, this fixpak includes the product documentation (PDF files) of VisualAge Generator Templates version 3.1. Other enhancements and fixed bugs since previous fixpak ------------------------------------------------------------------- The following enhancements are not described in the product documentation. Instead, some of them are detailed in the HTML file 'V30fix.htm' (at the same location as the product documentation). - New parameters and new functions in the generated applications . Business Object, Detail/List Action Display parameters New values: 'menu and popup menu', 'menu and push-buttons' . New Workspace parameters (DBCS configurations only): DBCS SQL High Value, DBCS SQL Low Value . Other new parameters and functions: See HTML file : 'V30fix.htm' - Relational database import function . Import via IXF files See HTML file : 'V30fix.htm' . The import window allows you to create a new application . Import from DBCS Database: strings are imported and stored in the appropriate format (SBCS or DBCS) . Following SQL types are now imported and taken into account at generation time: RAW, LONG RAW, LONG VARGRAPHIC, LONG VARG . The REAL SQL type (Oracle) is now imported but is not taken into account at generation time - VAGT Workstation (User Interface) . Deleted entity instances are no longer re-created when opening a "using" instance (e.g. a Business Object using a deleted Relational Table, or an Interface Unit using a deleted Business Object). Instead, the identifier of the deleted instance is followed by the message 'does not exist'. . New menuitems about VAGT workspace: 'Load' and 'Editions...' (same functions as for VAGT entities) . New menuitem about VAGT entities and workspace : 'Move...' (in another application) . BusinessObject mapping: the Column Name is now displayed . Error management: "*** error ***" displayed in erroneous fields . Error messages: each message has an associated code, which is displayed in the transcript window - Generated applications . The TUI action codes are now generated from the corresponding action label parameter (same algorithm as for mnemonic character in GUI) . A change in a 'root' Interface Unit title can be taken into account in the generated TUI map header by re-generating the Interface Unit only (formerly you had to re-generate the Workspace) Enhancements in previous fixpaks ------------------------------------------------------------------- - VAGT Tools menu: . Now in the Tools menu of the VisualAge Organizer window. . 'Customize Workstation' item is renamed 'Select Generators'. . Menu items are now disabled when there is no current user. - Workstation - user interface: . In Generation window, the 'Override existing parts' option as well as the generation options are saved for the next generation if the 'Save as default' option is selected. . All container columns are now left aligned. . The Generate Ending window has been resized. - Relational Import: . Handles Universal Database (DB2 version 5). . Creates unique 'target identifiers' for imported Data Elements and Relational Tables. . 'OK' push button is enable even without userid. - GUI generators - traceability: Addition/deletion of a data-field in a Business Object causes addition/deletion of the widget in the regenerated layout. On the other side, modifications made on other widgets are not overwritten (changes of size, label, page, etc.). The generation option 'Override Existing Parts' causes the regeneration of all components. Components added in the part by the user, are kept. - TUI generators - too long fields: When fields are too long, the generation does not stop anymore and fields are truncated according to Max Display Size parameter (a warning message is sent during generation). Fixed bugs in previous fixpaks ------------------------------------------------------------------- - VAGT Workstation: . 'Instance - Load / Editions...' and 'Instance - Editions...' menu items now work on multiple selection. . The Workstation can now be closed properly in all cases. . Relational Table HelpListRowsToFetch parameter is now properly managed after default value update. . The Workstation runs properly even without any DB2 catalog. . Business Object notebook: Unicity is correctly checked on mapped fields. - Relational Import: . 'SYSSCHEMA' keyword is now properly managed. . MVS: connection warnings are now properly managed. . MVS: foreign keys are now correctly imported in all cases. . MVS: "Customize" window is now correctly filled. . The import function runs properly even if unrecognized SQL types (in Oracle databases) are encountered. - Smalltalk-oriented generators: Zoom off option and CRUD Activation Control parameter are now taken into account (formerly they were handled only by 4GL-oriented generators) - Generated applications . Concurrency management is now available with both '4GL-oriented' and 'Smalltalk-oriented' generators. . 3-tier servers: Secondary tables are now properly read for creation. . FILL-RT and FILL-BO process: Previously too long rows have been shortened. . GUI - list extraction: A previously missing connection is now generated. . GUI - cut, copy, paste: Run in every situation. . GUI - notebooks: Now properly sized. . GUI - notebook detail subview: When the currently displayed instance is changed by a 'zoom', the first page of the notebook is shown. ------------------------------------------------------------------- PROCEDURES ------------------------------------------------------------------- 1. Installation ------------------------------------------------------------------- TO INSTALL THIS FIXPAK, IT IS NECESSARY TO HAVE INSTALLED VISUALAGE GENERATOR TEMPLATES 3.0 CONSISTENTLY: - VAGTemplates Feature components in VASmalltalk root directory (default c:\vast) and subdirectories. - VAGTemplates Documentation components in subdirectories of the MDLROOT directory, which must be consistent with the value of the 'MDLROOT' environment variable. On Windows/NT, you should have changed your environment properties by adding the following user variable: MDLROOT (with your path to VAGT eg c:\vagt). - Open the "Control Panel" - Open the "System" icon - In the opened "System properties" notebook, select the "Environment" page - In the "Variable" field, enter MDLROOT - In the "Value" field, enter the path that you gave as VisualAge Generator Templates root directory during 3.0 setup process (eg c:\vagt) - Activate the appropriate push-button to set the value. To install the fixpak: a) Set the current directory to the directory that contains the product installation files corresponding to your operating system. b) Run 'setup' (for Windows/NT) or 'install' (for OS/2) 2. Load and start VisualAge Generator Templates fixpak feature ------------------------------------------------------------------- Load VAG Templates in your environment by selecting Visual Age Organizer -> Options -> Load/Unload Features and choosing 'VAGTemplates with Customizing Support + Fixpak 3' The load function will ensure loading of the prerequisites (VisualAge ODBC Database and DB2 CLI Database). 3. Upgrading VAGT 2.2 Refresh to VAGT version 3.0 ------------------------------------------------------------------- The VAGT 3.0 repository is stored in VAG library. A migration tool allows you to upgrade VAGT 2.2 Refresh (and 3.0 alpha), with specifications stored in files, to VAGT 3.0 (with specifications stored in VAG library). Procedure : - Launch the Migration tool: VA Organizer -> Tools -> VAGT Tools -> Migrate Workspace CAUTION: - If you migrate several workspaces that contain instances with the same identifier but identifiying different objects, and if you want to preserve each description, you must after migration of the first workspace in an application, make a version of this application and unload it. Then, you can migrate the second workspace specifying a new application. 4. Parameterizing DB2 Database Import ------------------------------------------------------------------- a) Use of SYSSCHEMA keyword (DB2CLI.INI in your DB2 directory) SYSSCHEMA = sysschema This keyword indicates an alternative schema to be searched in place of the SYSIBM (or SYSTEM, QSYS2) schemas when the DB2 CLI and ODBC Catalog Function calls are issued to obtain system catalog information. Using this schema name, the system administrator can define a set of views consisting of a subset of the rows for each of the following system catalog tables: +----------------------------------------------------------------+ |DB2 for |DB2 for |DB2 for | |DB2 for | |common server|MVS/ESA |VSE and VM |OS/400 |OS/400 | |-------------+----------------+-----------+----------+----------| |SYSTABLES |SYSTABLES |SYSCATALOG |SYSTABLES |SYSTABLES | |SYSCOLUMNS |SYSCOLUMNS |SYSCOLUMNS |SYSCOLUMNS|SYSCOLUMNS| |SYSINDEXES |SYSINDEXES |SYSINDEXES |SYSINDEXES|SYSINDEXES| |SYSTABAUTH |SYSTABAUTH |SYSTABAUTH | |SYSCST | |SYSRELS |SYSRELS |SYSKEYCOLS | |SYSKEYCST | |SYSDATATYPES |SYSSYNONYMS |SYSSYNONYMS| |SYSCSTCOL | | |SYSKEYS |SYSKEYS | |SYSKEYS | | |SYSCOLAUTH |SYSCOLAUTH | |SYSREFCST | | |SYSFOREIGNKEYS | | | | | |SYSPROCEDURES(1)| | | | | |SYSDATABASE | | | | +----------------------------------------------------------------+ Note: (1) DB2 for MVS/ESA 4.1 only. For example, if the set of views for the system catalog tables are in the ACME schema, then the view for SYSIBM.SYSTABLES is ACME.SYSTABLES; and SYSSCHEMA should then be set to ACME. Defining and using limited views of the system catalog tables reduces the number of tables listed by the application, which reduces the time it takes for the application to query table information. If no value is specified, the default is: - SYSCAT or SYSIBM on version 2.1 of DB2 for common server - SYSIBM on versions prior to 2.1 of DB2 for common server, DB2 for MVS/ESA and OS/400 - SYSTEM on DB2 for VSE and VM - QSYS2 on DB2 for OS/400. b) Use of VAGTSys variable (DB2 for MVS/ESA only) DB2 for MVS/ESA allows you to create views for system tables with a parameterized table name (e.g. DSNCOLUMNS in place of SYSCOLUMNS). The VAGT Relational Import function is able to use such parameterized names: you just have to initialize VAGTSys variable in the DB2CLI.INI file, according to your parameterization (e.g. VAGTSys = DSN). If no value is specified, the default is: SYS ------------------------------------------------------------------- NOTES, LIMITATIONS AND KNOWN PROBLEMS ------------------------------------------------------------------- - Installation: After the load of the VAGT feature, the VisualAge Organizer may have lost the current user. Ensure to set a current user before using VAGT feature (otherwise the menu items of the VAGT Tools menu will stay disabled). - BiDi: Although VAGT is able to provide right-to-left organized views and subviews, it depends on the abilities of VisualAge Smalltalk BiDi feature for internal positionings: . menus inside a menu bar . columns inside a container . tabs inside a notebook. - Generators: The '4GL' Client Logic Style (Workspace parameter) is not implemented in Smalltalk-oriented generators. - Database management: When connecting to database, you may have database connections left open (an error -1445 appears), you should clean up SQL database connections so you can execute the following code to clean up the SQL interface: SQLRequester disconnectAll (Be aware that this will also roll back all units of work.)