Q&A | Translation Guide
Sesame will translate a healthy database created in Q&A 4.0 or 5.0 for DOS or Q&A for Windows. If you have earlier version Q&A databases, they
can be converted but you will need to contact Sesame Customer Support for assistance.
What Sesame Will Translate
Sesames Q&A database translation system will read and translate one Q&A database at a time. On translation
Sesame will convert each Q&A database into a new, separate Sesame application. Existing Q&A applications that use multiple databases can be merged into a single Sesame
application after each Q&A database has been individually translated.
What Sesame will translate
- Your form design (in Q&A for Windows only the Master form will be translated).
- All of your records (data).
- Your field format settings.
- All of your form programming.
- Your lookup table.
- All your saved Retrieve specifications.
- All your saved Sort specifications.
- All your saved Mass Update specifications.
- All your field restrictions.
- Basic format and structure of your columnar reports.
- Most of your Color Palette settings.
What Sesame won't translate
- Macros and Custom Menus.
- Intelligent Assistant.
- Saved Navigation specs.
- Merge and Print specs.
- Cross-Tab reports.
- Q&A Write documents and saved labels.
- Field templates.
Pre-Translation Recommendations
If your Q&A database is corrupted, that corruption can cause Q&A to lie to Sesame during translation. The healthier your database, the smoother
your conversion will be. You should perform the cleanup steps (below), even if your database does not appear to have any problems. Some types of corruption will hide from you
during daily use, but may still cause translation issues.
Pre-Translation Operations
1. Clean up your database structure
Q&A all versions:
- Note: Perform all operations on copies of your Q&A databases on a local drive (not across a network).
- Backup all databases you want to translate and work with the backups rather than your active application. In order to make the backup, use the Q&A backup facility or the F5 copy key.
- Recover each database and then perform a null mass update (no entry on the Mass Update Spec screen), to ensure that they are healthy in Q&A before attempting a translation.
Q&A version 4.0 Windows, 4.0 DOS:
Copy the design of the database to a new name and then copy all of the records, doing this procedure on a local drive.
In Q&A for DOS, the steps from the Main Menu are:
- File.
- Copy.
- Select the database file.
- Copy Design Only.
- Assign a new database name, press F10.
- Copy selected records.
- Press F10, F10, F10.
In Q&A Windows the steps are:
- Open the database.
- From the File menu select Copy database.
- Check the boxes Copy the design of this database, Copy with DOS form , Copy Selected Records.
- Click OK and supply a new name for the database copy and click OK again.
- In the Copy Records dialogue click on Match Fields and then Copy.
Q&A version 5.0 DOS
A Q&A 5.0 database should be made "Generation 1" prior to translation. Do the following steps:
- Work with a backup of your file.
- Step through every menu choice on the File, Design, Customize a file, Customize menu by selecting each and then pressing F10 until the menu appears again.
- Step through every menu choice on the File, Design, Program a file, Programming menu by selecting each and then pressing F10 until the menu appears again.
- Redesign all reports and print specs under the Reports, Design/redesign a report and the File, Print, Design/Redesign a spec menu choices. Highlight each report and print spec and press F10 until you get the message Your report (or Print Spec) has Been Saved. Do . Select No and continue until you have completed all reports/specs.
- Perform a null mass update. From the File, Mass Update menu, select the database, press F10 at the Retrieve screen, F10 at the Update spec screen and No to the question Do you want to confirm .
- From the Q&A Main Menu select File, Copy, Copy Design Only.
- Assign a new database name, press F10.
- From the Copy Menu select Copy selected records.
- Press F10, F10, F10.
The new copy is now Generation 1.
2. Clean up your data
Sesame is stricter about field values than Q&A. For example, if you tell Sesame that a particular field is a Date field, it expects all the values in that field to be valid dates. Review the data in your
databases to make sure that the data conforms to the field types. Non-Conformingdata will not be imported correctly. Q&A makes it very easy to find incorrectly formatted values. In the Retrieve Spec, type /.. in the field you want to check. This will display all records with an incorrectly
formatted value in that field.
3. Legalize Your Field Names
Sesame uses field names in programming, rather than field numbers. Sesame Translator will take care of converting your field numbers to field names. However, those field names need to be
legal. If you skip this step, Sesame will still translate your database, but programming that uses illegal field names will not be able to run. You can fix these after translation
using Sesame Designer, but, if you take care of this in Q&A before you translate, Sesame can save you some of the work. You can easily change these field names at Q&As Field Names Spec.
To be legal, field names should include only letters and numbers. You can also use spaces, but you should avoid them where possible. If you already
have field names with spaces, you can leave them, but you should try not to use them in new field names. Field names cannot:
- Begin with a number.
- Contain any operator and related characters, such as ! # @ & * + - / { } [ ] % ^ =. The characters ! and = are particularly problematic. These are used internally in Sesame for subforms and specs. A translated database with field names including these characters may show unpredictable behavior.
- Be the same as a Q&A function name (like UserSelect).
- Be a reserved keyword. If you have a field simply named Date, you need to rename it to something like OrderDate. If you use Date in Sesame programming, it cant tell if you mean the field Date or the internalfield type Date.
4. Other Translation Issues
- Restrictions: Sesame does not use field restrictions to create picklists. Sesame uses field restrictions to restrict field values. Restrictions are applied in Sesame more strongly than they are in Q&A. This can be inconvenient after translation if your actual data does not meet your stated field restrictions. You should review your Restrict Spec before translation. Remove any restrictions that only exist to generate picklists and those that do not reflect your actual data. Add " ;= " to each restriction where you might want to have blank values. As a side note, Sesame does provide other methods for data validation which are more flexible than restrictions.
- File names and paths: Programming statements that refer to .dtf files will need to be updated. Sesame files use a .db extension. The path to the file is also likely to change.
- Review your programming and remove any references to full path statements like: "C:\QA4\database\filename.dtf" Sesame will store files in its own folders and the Sesame filename extension is ".db" Change your Q&A database programming to read likethe following:
\Sesame\Data\Filename.db where \Sesame\Data is the folder where you will be keeping your data (Note: no Drive letter need be specified).
XLookups with multiple assignments: Sesame uses XLookup syntax that assigns one field per statement. Change any multiple XLookup statements like this:
XLookup(External.dtf, #10, X#20, X#30, #30, X#40, #40)
To single line multiple lookup statements like these:
XLookup(External.dtf, #10, X#20, X#30, #30); XLookup(External.dtf, #10, X#20, X#40, #40)
- @Macro statements (Q&A 5.0 only) will not work in Sesame and should be deleted.
Network Considerations
Although Sesame is a true client-server database, we recommend that all Q&A translations be performed on a local, client machine. This will make the translation process more efficient
and remove any network issues during the initial, intensive file operations. After translation is complete and any initial redesign has been done to the new Sesame
application, it can easily be moved to the network.
Translation Process
Follow these steps to translate your Q&A database.
- From the Sesame menubar select File / Translate Q&A.
- Use the Select a Q&A database file to translate window to navigate to the folder where you have stored your Q&A databases to be translated, and click on the one you want to select. (See Figure 1.)
Figure 1. Selecting a Q&A database for translation.
- Double-click on the filename or click once then click Accept.
- In the Set a filename and directory for save window, type the name you want the Sesame application to have (you can change it later) on the bottom line. You do not have to include a file extension but if you do it must be .db (See Figure 2.)
Figure 2. Assigning a Sesame filename for the translated Q&A database.
- Click on Accept.
Sesame will translate the Q&A database and open the resulting new application in the main Sesame window (See Figure 3.). The Q&A database just translated will be where
it was and be unaffected by the translation process. It will still be useable in Q&A.
Figure 3. Sesame window after successful Q&A file translation.
Translation Errors
If there are errors during the translation or issues with the Q&A database that Sesame cannot automatically correct (for example, invalid field names, programming errors, illegal characters, or the
like), you will receive the message Warning: C:\path\filename.dtf produced warnings while importing. Check the Server Administration Log for details.
This log can be accessed from the Sesame File menu by selecting Server Administration and entering the default User Id / Password (admin / hello -- lowercase only) and clicking on Accept.
Click on the Logs tab. (See Figure 4.) The log of errors can be printed out by selecting File / Print or by pressing Alt-P. You can select what lines you want to print by clicking on individual lines with the mouse, by dragging across multiple lines to highlight them, or
by clicking on non-contiguous lines while holding down the Ctrl key. Some of the errors and warnings listed in the Log file must be addressed and corrected before your translated database will work correctly in Sesame. Your database will work even with certain kinds of
warnings, but you may encounter errors later -- for example, if you later try to use an illegal field name in programming.
Figure 4. Reviewing translation errors after Q&A file translation.
Password Protected Q&A Translations
If the Q&A database you select to translate is password protected, upon completion of the translation, and before the database is opened in the Sesame window, you will be prompted for a valid Administrator-level User Id and Password.
Enter them in all uppercase since that is the way they are stored in Q&A and Sesame passwords and User IDs are case sensitive. Click on the Accept button. The Sesame database will have basic password protection at this point, not full Q&A security.
Bottom Line
Sesames Q&A Translator is very strong. It's likely that your databases will translate and run without you having to change a thing. Databases with lots of XLookups and such require some touching up after
translation. There is no harm in translating your Q&A database more than once, so you can try it and then retry if you want to make more changes prior to re-translation.
|