Language Maintenance Facility Overview

CA Dataquery provides a LANGUAGE option for the Administrative Menu. You might be authorized to translate the CA Dataquery vocabulary, literals, messages, commands, menus, and panels into another language, or to customize them using terms with which your site's users feel more familiar. You can translate/customize everything or only certain items.
datacom151
CA Dataquery
provides a LANGUAGE option for the Administrative Menu. You might be authorized to translate the
CA Dataquery
vocabulary, literals, messages, commands, menus, and panels into another language, or to customize them using terms with which your site's users feel more familiar. You can translate/customize everything or only certain items.
Functions
Use the Language Maintenance Facility to:
  • Translate menus, help panels, vocabulary terms, literals, and error messages to another language (such as, American English to Spanish).
  • Customize error messages to include information specific to your company such as, "Contact John Franks at extension 6670 if you encounter this message."
  • Change the bulletin board.
  • Create a dialect from a base language.
  • Edit panels, vocabulary terms and literals.
  • Delete panels vocabulary terms and literals.
  • List all literals, panels, and vocabulary terms.
Information for changing the bulletin board is documented in Changing the Bulletin Board.
Base Languages
CA Dataquery
executes in the language you specify during system generation. This means all panels, literals, and vocabulary appear on your terminal screen in the language you designated as your base language during system generation. CA provides American English as the base
CA Dataquery
language, but German, and French are also available. Contact your CA representative for more information on obtaining one of these languages.
Other Languages
But what if you would prefer to see
CA Dataquery
execute in Spanish or some other language?
The Language Maintenance Facility allows you to translate the
CA Dataquery
vocabulary, literals, messages, commands, menus, and panels into another language. You can translate everything or you can select only specific panels to translate or customize. The ability to translate
CA Dataquery
is useful if your corporation has several international sites or a site with employees who speak different languages. You can translate
CA Dataquery
into all languages used. Then, each employee can use
CA Dataquery
in their own language.
Functions
You can use the Language Maintenance Facility to:
  • Create a partial translation from a base language.
  • Translate all parts of
    CA Dataquery
    including menus, Help panels, vocabulary, literals, and error messages to another language. (For example, American English to Spanish.)
  • Customize error messages to include information specific to your company such as, "Contact John Franks at extension 6670 if you encounter this message. "
  • Change the bulletin board.
  • Edit panels, literals, and vocabulary terms.
  • Delete panels, literals, and vocabulary terms.
  • List all panels, literals, and vocabulary terms.
System Tables
Performing query creation, maintenance, and storage functions involves commands, panels, vocabulary, messages, Help panels, and menus.
CA Dataquery
stores these messages, panels, commands, and vocabulary terms in the following tables:
  • DQM contains all literals (words generated by
    CA Dataquery
    ).
  • DQP contains all panels (including Help, menus, error messages).
  • DQV contains all vocabulary (commands and DQL Language keywords).
Before You Begin Translation
Before you begin translation, understand the basics of
CA Dataquery
.
Authorization
To use the Language Maintenance Facility, you must be authorized to do so by your
CA Dataquery
Administrator. Your
CA Dataquery
Administrator authorizes you by placing a Y in the LANGUAGE field on the User Table Maintenance panel. See Authorizing Users in CA Dataquery for more information. If
CA Dataquery
is externally secured, you must be authorized through external security.
Getting Hard Copies of
CA Dataquery
Panels
To create hard copies of
CA Dataquery
panels, select the LANGUAGE function from the Administrative Menu. See Specific Guidelines for operation instructions for the Directory of Panels. Scroll through the list of panels and display each panel you want to customize. While viewing a panel, use your screen print function to create a hard copy.
You can also submit a batch job with the DQPANPRT utility.
Additional Software Allocation
If you plan to translate or customize your entire
CA Dataquery
system, allocate additional disk space to store the newly created language. You need 60 tracks on a 3380 disk initially plus 50 tracks for a full translation. Or, in
CA Datacom®/DB
terms, you need 500 blocks of 3584 bytes.
Language Maintenance Help Panels
CA Dataquery
provides Help panels to assist you during your translation process. You can access these panels whenever you see <PF1> HELP listed on the PF key menu at the bottom of your screen except when actually typing in your translation for a panel.
If you receive an error message, press <PF1> HELP and
CA Dataquery
displays a message Help panel. This Help panel further explains the error message with possible causes and corrective action.
Language Maintenance Utility
You use the Language Maintenance Utility to back up and restore
CA Dataquery
languages. You can also use it to change all panels to uppercase.
Back up Language Tables
To back up language tables, execute the Language Maintenance Utility JCL with RUNTYPE=UNLOAD. The Language Maintenance Utility also allows you to do a selective back up (unload). To back up (unload) either a language you have created or a CA-provided language, replace the RUNTYPE=UNLOAD line of JCL with:
RUNTYPE=UNLOAD,LANGUAGE=lc
where lc is the language code for the language you want to unload.
Restore Backup Tables
To restore backup tables, execute the Language Maintenance Utility JCL with RUNTYPE=LOAD. You cannot do a selective load.
Change Panels to Uppercase
To change panels to uppercase, run DQLANGMT with:
RUNTYPE=UPSHIFT,LANGUAGE=lc
This is the same as an unload. The output data set has all panels in uppercase. The upshifted panels may be restored to the panel file by running DQLANGMT with RUNTYPE=LOAD.
To change individual panels to uppercase, run DQLANGMT with:
RUNTYPE=UPSHIFT,LANGUAGE=lc,C=PNL,N=xxx
where lc=language code and xxx is the three-character panel ID.
Follow the upshift by a load to restore upshifted panels.
Lowercase Terminals
You can use lowercase and uppercase letters in your translations. Before you can use uppercase and lowercase letters, you must change your primary language code to something other than American English (AE) and define your terminal for mixed case to CICS.
Using the Language Maintenance Facility
The Language Maintenance Facility allows an Administrator to translate the
CA Dataquery
vocabulary, literals, messages, commands, menus, and panels into another language, or to customize them using terms with which your site's users may feel more familiar.
Specifying a Language
Select the language you want to use by specifying the language code in your user profile in response to PRIMARY or SECONDARY. If you do not specify a code for PRIMARY, the language specified in the System Option Table SYSDIAL= parameter becomes the first choice. If you do not specify a code for SECONDARY, the language specified in the System Option Table SYSLANG= parameter becomes the second choice. If no language code is specified,
CA Dataquery
executes in American English.
Specify the System Option Table DQOPTLST parameter SYSDIAL= with the PRIMARY language, for the translation you want searched first for the language item to be displayed. Specify SYSLANG= with the SECONDARY language, for the translation you want searched second.
Translating or Customizing
CA Dataquery
If you plan to translate or customize the
CA Dataquery
system, prepare the DQM, DQP, and DQV system tables as described in Preparing and Maintaining the
CA Dataquery
System Tables. If you want to use mixed case for your translation, define your terminal for mixed case to CICS.
To translate or customize the
CA Dataquery
system:
  • Update the user with the language code.
  • Specify the language code on the Edit/Translate panel.
  • Do your translation.
  • Specify the System Option Table DQOPTLST parameters SYSDIAL and SYSLANG if they are changing.
Loading and Unloading Languages (DQLANGMT)
The Language Maintenance Utility (DQLANGMT) is a batch facility. DQLANGMT performs two major functions:
  • Loading a language.
  • Backing up (unloading) a language.
American English is the default language. Use DQLANGMT to load and use any of the other languages or to back up a translation which you have created.
Loading CA-Provided Languages
To load a language supplied on the version tape, you must:
  1. Specify RUNTYPE=LOAD in the DQLANGMT JCL. RUNTYPE=LOAD can be abbreviated R=LOAD in the JCL.
  2. Execute the utility.
JCL examples are provided in this chapter.
Backing Up (Unloading) Your Language
To back up (unload) your language, you must:
  1. Specify RUNTYPE=UNLOAD in the DQLANGMT JCL. RUNTYPE=UNLOAD can be abbreviated R=UNLOAD in the JCL. LANG=XX or abbreviated L=XX may be used to unload only one language.
  2. Execute the utility.
JCL examples are provided in this chapter.
Upgrading to a New Version
To keep the translated version of your
CA Dataquery
panels when you upgrade to a new version, run the DQLANGMT utility with the SYSIN RUNTYPE=UNLOAD,LANG=xx to take a back up of translated panels. After the upgrade, run DQLANGMT again with the new version with SYSIN RUNTYPE=LOAD and the file from the previous UNLOAD as input to put the translated panels, literals, and vocabulary on the new version's files. This is the only way translated files can get to the upgraded system.
To see which panels do not have translated versions, select Language Maintenance from the Administration Menu. Display lists of panels, vocabulary, or literals online to see which do not have translated versions. The online displays list AE (American English) version first, followed by the "xx" version, unless "xx" happens to sort higher in the list than AE. In any case, they will be together on the lists so new ones can be easily seen.
Installing Language Changes
If most
CA Dataquery
users at your site need to use the language you have created, you need to generate this language as the system language. You do this by coding the system language in the DQOPTLST macro and reassembling the
CA Dataquery
System Option Table. The options table applies to all users.
During system generation,
CA Dataquery
defaults to American English as the base language. To change the default language:
  1. Code the SYSLANG= parameter in the DQOPTLST.
  2. Reassemble the
    CA Dataquery
    System Option Table.
You can also add the SYSDIAL= parameter to the DQOPTLST. You can use this parameter to specify a partial translation as the systemwide default. The language code found in the SYSDIAL= parameter is searched first. If
CA Dataquery
does not find the panel, message, literal, help text, or DQL Language vocabulary word with this language code, the SYSLANG= language code is searched. Only DQL Language verbs can be translated.
The values in the primary and secondary language fields on your user profile override the SYSDIAL= and SYSLANG= parameters, respectively. This can be useful when there are only a few users who want to use a different language than the language defined in DQOPTLST.
CA Dataquery
defaults to a period for a decimal point. To change this default to a comma, enter COMMA in the DECPT= parameter in the DQOPTLST.
After you change the DQOPTLST parameters, you must reassemble the
CA Dataquery
System Option Table. See Example DQOPTLST Assemblies for details.
Sample z/OS JCL
Unload
Use the following JCL to run a batch language maintenance job to unload the table. To unload a single language, replace the R=UNLOAD with R=UNLOAD,LANGUAGE=cc where cc is the 2-character language code you want to back up.
//jobname
See
// EXEC PGM=DQLANGMT //STEPLIB
See
//SYSUDUMP DD SYSOUT=* //SYSPRINT DD SYSOUT=* Print Output //*
Specify the following according to your site standards:
//SNAPER DD ... //SYSOUT DD ... //DQLMUNL DD DSN=dq.lang.backup.dataset,UNIT=device,... // DCB=(RECFM=VB,LRECL=2010,BLKSIZE=2014,DSORG=PS) //SYSIN DD * R=UNLOAD /* //
  • DQLMUNL
    DQLMUNL is the output data set for a DQLANGMT unload of panels. It can reside on tape or disk. This statement is needed only in JCL specifying a DQLANGMT UNLOAD.
Load
Use the following JCL to run a batch language maintenance job to load a backup tape (either a user-created backup or a CA-provided load or revision tape).
//jobname
See
// EXEC PGM=DQLANGMT //STEPLIB
See
//SYSUDUMP DD SYSOUT=* //SYSPRINT DD SYSOUT=* Print Output //*
Specify the following according to your site standards:
//SNAPER DD ... //SYSOUT DD ... //DQLMLOD DD DSN=dq.lang.backup.dataset //SYSIN DD * R=LOAD /* //
  • DQLMLOD
    DQLMLOD is the input data set for a DQLANGMT load of panels. It can reside on tape or disk. This statement is needed only in JCL specifying a DQLANGMT LOAD.
Sample z/VSE JCL
Unload to Disk
Use the following JCL to run a batch language maintenance job to unload the table to a disk file. To unload a single language, replace the R=UNLOAD with R=UNLOAD,LANGUAGE=cc where cc is the 2-character language code you want to back up.
* $$ JOB ...
See
* $$ LST ... // JOB name // EXEC PROC=procname
Whether you use PROCs or LIBDEFs, see
*
Specify the following according to your site standards:
// ASSGN SYSnnn,DISK,VOL=volser,SHR // DLBL DQLMUND,'dq.lang.backup.dataset',,SD // EXTENT SYSnnn,volser // EXEC DQLANGMT,SIZE=50K DOSFILE=DISK R=UNLOAD /* /& * $$ EOJ
  • DLBL DQLMUND,
    DQLMUND is an output data set for a DQLANGMT unload of panels. If it is to reside on disk, a control statement specifying DOSFILE=DISK must be included.
  • DOSFILE=
    If DOSFILE=DISK is specified, the output data set must have a name of DQLMUND and the panel output must be written to disk.
Unload to Tape
Use the following JCL to run a batch language maintenance job to unload the table to a tape.To unload a single language, replace the R=UNLOAD with R=UNLOAD,LANGUAGE=cc where cc is the 2-character language code you want to back up.
* $$ JOB ...
See
* $$ LST ... // JOB name // EXEC PROC=procname
Whether you use PROCs or LIBDEFs, see
.
*
Specify the following according to your site standards:
// ASSGN SYS020,cuu // TLBL DQLMUNT,'dq.lang.backup.dataset' // EXEC DQLANGMT,SIZE=50K DOSFILE=TAPE R=UNLOAD /* /& * $$ EOJ
  • TLBL DQLMUNT,
    DQLMUNT is an output data set for a DQLANGMT unload of panels. If it is to reside on tape, a control statement specifying DOSFILE=TAPE must be included.
  • DOSFILE=
    If DOSFILE=TAPE is specified, the output data set must have a name of DQLMUNT and the panel output must be written to tape.
Load from Disk
Use the following JCL to run a batch language maintenance job to do a load from a disk file.
* $$ JOB ...
See
* $$ LST ... // JOB name // EXEC PROC=procname
Whether you use PROCs or LIBDEFs, see
*
Specify the following according to your site standards:
// ASSGN SYSnnn,DISK,VOL=volser,SHR // DLBL DQLMLOD,'dq.lang.backup.dataSet',,SD // EXTENT SYSnnn,volser // EXEC DQLANGMT,SIZE=50K DOSFILE=DISK R=LOAD /* /& * $$ EOJ
  • DLBL DQLMLOD,
    DQLMLOD is an intput data set for a DQLANGMT load of panels. If the data set resides on disk, a control statement specifying DOSFILE=DISK must be included.
  • DOSFILE=
    If DOSFILE=DISK is specified, the input data set must have a name of DQLMLOD and the panel input must come from disk.
Load from Tape
Use the following JCL to run a batch language maintenance job to do a load from either a user-created backup tape or a CA-provided tape.
* $$ JOB ...
See
* $$ LST ... // JOB name // EXEC PROC=procname
Whether you use PROCs or LIBDEFs, see
*
Specify the following according to your site standards:
// ASSGN SYSnnn,cuu // TLBL DQLMLOT,'dq.lang.backup.data set' // EXEC DQLANGMT,SIZE=50K DOSFILE=TAPE R=LOAD /* /& * $$ EOJ
  • TLBL DQLLMLOT,
    DQLMLOT is an input data set for a DQLANGMT load of panels. If the data set resides on tape, a control statement specifying DOSFILE=TAPE must be included.
  • DOSFILE=
    If DOSFILE=TAPE is specified, the input data set must have a name of DQLMLOT and the panel input must come from tape.
Printing
CA Dataquery
Panels
The panel print utility allows you to print the
CA Dataquery
panels by submitting a batch job, just as with any other batch utility. You can print selected panels or all the panels for one language. Panels are printed in a 24 X 80 format, one panel per report page. No descriptive text appears on the page with the panel. Error messages appear on separate pages.
Processing
When you request a panel/language which exists, the panel is printed; otherwise an error message is printed. When
CA Dataquery
processing of the print request is complete, the operating system completion code is set as follows:
  • 0
    Normal completion
  • 4
    Syntax error on control statement input
  • 8
    Error in operation
  • 16
    Utility abend
Control Statement Format
Keyword parameters may start in any position on the statement. Keyword parameters must be followed by an equal sign (=) and a value. Commas should be used to separate keywords, and there should be no embedded blanks in the list of parameters. Multiple control statements may be used. Keywords and valid values are:
  • REQ=PRINT
    This must be used as written. In this version, print is the only valid request handled by this utility.
  • NAME=xxx
    Where xxx is the name of a panel to print. This is a required parameter. To print panel DQD10, NAME=D10 would be used. To print all the panels for a language, NAME=*** would be used.
  • LANG=yy
    Where yy is the code of a language to print. This is an optional parameter. If not used, the default is AE (American English). To print all panels in more than one language, a control statement for each language must be used.
Sample JCL
Sample z/OS JCL
//jobname
See
// EXEC PGM=DQPANPRT //STEPLIB
See
//SYSUDUMP DD SYSOUT=* //SYSPRINT DD SYSOUT=* Print Output //SNAPER DD SYSOUT=* //SYSIN DD * REQ=PRINT,NAME=AA0,LANG=AE /* //
Sample z/VSE JCL
* $$ JOB ...
See
* $$ LST ... // JOB name // EXEC PROC=procname
Whether you use PROCs or LIBDEFs, see
// EXEC DQPANPRT REQ=PRINT,NAME=AA0,LANG=AE /* /& * $$ EOJ