MH HomeMH Home
Last Modified: Thursday, January 6, 2000 Home > Uniface Tools > CSV/Excel Driver > Dynamic Names  
[skip navigation links]

  Services
  Tools
  Support
  Consultants
  Uniface
  Java

  Uniface Tools
  CSV/Excel Driver
  CMtool Driver
  XML/IE5 Driver
  FormToolKit
  WebToolKit
  HTML Printer
  Remote Execute
  Downloads

  Java Tools
  Downloads

  Applications

  Online Services
  Newsletters
  - Jobs
  - Announcements
  Feedback
  - Online
  - e-mail
  Advertise
  - Jobs

  About Us
  Contact Us
  Our Mission
  Privacy Policy

  Web Sites
  Worldwide
  UK
  Australia
  US
  NZ


 -    march-hare.com  

Dynamically assigning physical tablenames in Oracle

Even though the Uniface architecture does not normally allow the physical name of a logical table to be defined after the application startup, you now can using the UD8 Driver 1.20 and your favourite database.

Download it and try it today.

This feature is known as a driver wrapper, or the 'become' feature. March Hare developed it so that commercial Uniface drivers can have their functionality modified at run time (most often for the support of legacy systems). Most of these changes require modifications to the source code (which every copy of UD8/CSV Driver comes with).

However, we decided to build one feature in that every developer could access 'out of the box'. This demonstrates the flexibility you can add to the drivers.

This is the dynamic tablenames feature. In the same way that you set a dynamic filename for your CSV file, you can dynamically set the physical name of an Oracle table.

How you set filenames / tablenames

Uniface developer may communicate with the driver at run-time using the SQL proc instruction. Any 'parameter' specified in in the help file for USYS$UD8_PARAMS may be sent to the driver, or a 'tablename' string may be sent. eg:

sql ":logical_table:obsolete:new_table","$ud8"

The 3 fields are:

  • logical table being redefined
  • create/delete parameter, do not use in conjunction with 'become'
  • physical tablename

This command will have NO EFFECT on tables that are already opened. So it is best to use this command BEFORE the first retrieve or store on the table, or alternatively, close the path first, eg:

close "$ud8"
sql ":person:obsolete:client","$ud8"

How to wrap an Oracle driver

In this example we will wrap the Oracle driver from Uniface 7.2.05. The UD8/CSV driver may wrap ONE driver. The driver that is being wrapped MUST be specified in the USYS$UD8_PARAMS setting in the assignment file, eg:

[DRIVER_SETTINGS]
USYS$UD8_PARAMS=become ORA ora8141l

The first time you 'log on' to the UD8 driver it will open in UD8/CSV mode. When you close the path and re-open it (logoff/logon), it will open in ORA mode, and all requests will be passed to the ORACLE driver, except that tablenames can be re-mapped.

The next time you close and re-open the path, the driver will then be in UD8/CSV mode, and so it will stay until given a command to 'become ORA' again.

An example

This example we rename the logical table 'PERSON', to the physical table 'CLIENT", eg:

open "","$UD8" ; driver now open in CSV mode
close "$UD8"
; drvier opening in ORA mode
open "ntsrvr01|arthurb|password","$UD8"
sql ":person:obsolete:client","$ud8"
; even though we retrieve person, the table
; client is retrieved
retrieve/e "person"

- UD8/CSV driver is available for all Uniface supported platforms


  Other tools
Version Control Solutions for Uniface

CSV Driver allows dynamic tablenames

FormToolKit brings complete proc listings to Uniface

Stop searching for Uniface personnel

UD7/XML interfaces Uniface to IE5

FREE HTML Printer Driver for Uniface

Simplify your Uniface Web Deployment

Execute software on a remote server



About Us | | Customer Area| Press Releases | Contact us | Prices & Ordering | Feedback | Privacy Policy

Copyright © 2000. March Hare Pty Ltd
All rights reserved.