MSKDOC print documentation for mask and applications
MSKPRT print an image of the generated screen
#
Screen Detail
##
MSKDEF Screen Painter
The principle method for adding, modifying, or deleting screen detail field definitions is via the online screen (cont.)
painter, MSKDEF. All work is done using an image of the screen mask as it will appear when generated, with the addition (cont.)
of special display characters to indicate where field attribute codes will be. This enables you to continuously observe (cont.)
the results of changes as you make them.
##
Mode of Operation
The image of a mask is made up of a collection of one or more screen fields. Each screen field has an individual record (cont.)
defining it in the MAGEC repository, enabling you to manipulate it with the maximum of flexibility.
There are two types of screen fields: variables and constants. A variable is a field which has a name and which can be (cont.)
referenced by the generated program. A constant is named FILLER and cannot be referenced. Constants are used for (cont.)
headings, prompts, and the like. It is perfectly acceptable for a heading or prompt to be a variable, as well. This (cont.)
enables you to have headings or labels on the screen which you can alter from your program. Every field, whether (cont.)
variable or constant, has its own discreet definition in the repository and can be modified via the MSKDEF (cont.)
facility.
A common structure for screens is to have pairs of fields, one constant and one variable. For example:
@Emp#@
_________>
In the above example the at-signs (@) show where the field attribute bytes will reside. There are two screen fields, (cont.)
one is a constant which contains the value "Emp#" and the other is a variable which contains a value of all (cont.)
underscores. The variable field is where the program would move the actual employee number to be displayed, it is also (cont.)
optionally an enterable field where the operator can key in an employee number. The greater-than symbol (>) indicates a (cont.)
"stopper", a dummy field having an attribute but not data, which is used to terminate the preceeding field. There is (cont.)
not a stopper after the first field (the constant) because another field immediately follows it, serving as a stopper (cont.)
for it.
The MSKDEF facility allows you to select a field by pointing the cursor to it and pressing a PF key. The choice of (cont.)
which PF key was hit determines what is to be done to the selected field. For example, pressing PF18 would indicate (cont.)
that you wished to change the specifications for that field, pressing PF19 would indicate that you wished to delete (cont.)
that field from the mask, and so on.
There are also line manipulation functions which enable you to operate upon all fields on the selected line at one (cont.)
time. For instance, you could move an entire line to another line on the screen, or you could delete all fields on a (cont.)
line. To use the line manipulation functions you simply position the cursor anywhere on the line you wish to operate (cont.)
upon and press the appropriate PF key.
A legend of the PF keys and their meanings is displayed on the last three rows of the MSKDEF screen along with (cont.)
statistics about the mask. The PF keys are divided into "field manipulation" and "line manipulation" keys in the (cont.)
legend.
| ```
MSKDEF xxx
M A G E C Development Process Selection
Press PF7 - for the semi-automated development process which allows you to
provide Cobol code to construct the key(s) to use to join
additional Data Classes to the primary Data Class.
Press PF8 - for the fully-automated development process which generates the
join logic completely based upon your selections and using the
Domain definitions for Data Items.
Press PF3 - to return to the manual screen painter which provides complete
flexibility to manually draw a screen, define attributes, and
code join logic.
Choose the level of automated development you desire. The fully-automated
process is preferred. The semi-automated process is necessary only if your
data has not been defined using MAGEC's Domain facility.
```**
Figure 04 -- MSKDEF Screen
**
NOTE:
**
If there are currently no screen fields defined for the mask number specified, MSKDEF presents a selection screen (cont.)
asking you to choose which level of automated assistance you desire. In this *Screen Painting* section of the (cont.)
"Programmer's Reference" manual we will concern ourselves primarily with the "manual" screen painting operations which (cont.)
you can select by pressing PF3 when the above selection screen appears.
##
Detail Field Specifications
When you select a screen field for "change", a pop-up window shows you all of the specificatons for that field. You can overtype them to make your changes. They are:
**Scrn Fld Nm:** is the name to be used for this screen field in the generated mask copybook. This name may be up to (cont.)
seven characters long. In the copybook you will find the actual screen field defined using this exact name, plus (cont.)
various other related fields named using this name with a suffix added. For example: the attribute byte for the field (cont.)
named "SFIELD" would be named "SFIELDA", the edit picture for it would be named "SFIELD-ED" (if it were a numeric (cont.)
item).
The occurrence [**( ... )**] is the Cobol subscript value used to access this field, if it is part of an array. A value (cont.)
of 000 indicates that the field is not part of an array and that no subscript is needed. A value of 001 thru 099 is the (cont.)
actual occurrence number or subscript value to be used. A value of "*nn" indicates that this field is a repeating (cont.)
field
it is occurrence 01 of an array and MAGEC is to automatically generate occurrences 02 thru nn aligned vertically below. (cont.)
A value of "#nn" is similar to "*nn" except that the array is repeated horizontally, rather than vertically. When you (cont.)
use either of these automatic repeating field specifications, MAGEC displays the generated occurrences on the MSKDEF (cont.)
screen exactly where they will appear on the generated mask. It uses a ditto (") to indicate where the attribute for (cont.)
each field will be, rather than the usual at-sign (@).
**Database Source/Targe****t:** is the Cobol name of the database field which is both the source (for displays) for (cont.)
this screen field, and the target (for updates) from this screen field. This may be the name of a database field or of (cont.)
a work field in your MMP's data division. If you leave this blank, MAGEC will simply not generate any moves to or from (cont.)
this screen field
you can code your own moves through customization, though. The name given in this parameter may contain a subscript (cont.)
enclosed in parentheses, just as you would spell it in Cobol coding. If the screen field is part of an array (that is, (cont.)
if the occurrence number is non-zero), then the subscript for the source/target may be a relative subscript. For (cont.)
example: a subscript of [(*)] means that the source/target subscript is the same as the occurrence number of the screen (cont.)
field, a subscript of [(*+12)] means that the subscript for the source/target is the occurrence number of the screen (cont.)
field plus twelve (negative offsets are also possible, but not much used). Certain datanames are recognized by MAGEC as (cont.)
being "read-only. In those cases MAGEC generates the move to the screen for displays but does not generate a move from (cont.)
the screen to the source/target field for updates. Examples of such names are: CURRENT-DATE, TWA-IPL-DATE, TWA-TIME, (cont.)
and others.
**Row:** is the screen row number on which this field begins. Screen fields may extend for multiple rows by "wrapping (cont.)
around" beyond the end of the line. Since MAGEC automatically defines rows 001, 022, 023, and 024, you are restricted (cont.)
to rows 002 thru 021. The row(and column) is initially set by MAGEC when you draw a new field onto the mask or when the (cont.)
automatic painter generates the initial mask. You can change it, though.
**Col:** is the screen column number in which this field begins.Valid columns are 001 thru 080.
**Lgth:** is the length in characters (bytes) of this screen field, not including the leading attribute or trailing (cont.)
stopper, if any. If you change the length you should be careful to also change the value in the screen field shown in (cont.)
the screen image. MAGEC edits to be sure that the field is large enough to contain the value shown.
| ```
**
MSKDEF nnn ................ ............. ...
@
MAGEC SCREEN PAINTER (PFKEYS) --FIELD: 18=CHG 19=DEL 20=DUP 21=MOVE
LAST GEN=93 08 05 --LINE: 4=DUP 5=ERASE 6=MOVE 13=DEL 15=INS
LAST UPD=93 06 22 2494 BYTES MAX, nnnn USED, nnnn LEFT PF24=POP-UP HELP**
```
***
Figure 05 -- MSKDEF with Window Displayed
Attr****:** is the six-character symbolic attribute name which specifies the field attribute code. Each position of the (cont.)
six-character name represents a unique attribute, only certain combinations are allowed. For example: UADRNF means (cont.)
Unprotected, Alphanumeric, Displayable, Regular-intensity, Non-selector-pen-detectable, modify-data-tag-ofF. When you (cont.)
are using MSKDEF you can press PF24 (Alt-F4, on a PC) any time to request a pop-up window of special help text which, (cont.)
among other things, gives the meanings and codes for each character of the attribute name.
**Clr:** is the 3270 color code for this screen field. A value of 0 (or "D")indicates that you do not want extended (cont.)
color support for this screen field. A value of 1 thru 7 (or their letter code equivalents) indicates that you want (cont.)
extended color support and the initial color desired. You can press PF24 for the pop-up help which lists all the valid (cont.)
color codes and their meanings.
**Typ****e:** is the one-character edit type code which controls the automatic field-level editing done by MAGEC, and (cont.)
the Cobol definitions generated for the screen field in the mask copybook. The PF24 pop-up help text lists all the (cont.)
valid type codes. Refer to the ["Edit Types"](/DOC/magref_main.htm#MAGREF002001) reference table for a complete (cont.)
list.
**Sig:** is the number of significant digits left of the decimal point. This has no meaning for alphanumeric type (cont.)
fields. The maximum value is 13. For date type fields this parameter is used to indicate the number of digits in the (cont.)
year, either 2 or 4.
**Dec****:** is the number of digits right of the decimal point (max. is 09). It has no meaning for alphanumeric type (cont.)
fields. For dates this parameter is used to control the maximum number of years old that a date may be, i.e. if you set (cont.)
this parameter to 03, and this is 1989, then a date of 1985 would be rejected by the automatic editing as being too (cont.)
old.
**Edit Table****:** has meaning only for edit type "T" fields. It is the three-digit (001 thru 999) lookup table number (cont.)
against which this field is to be edited by the automatic editing. The number used must be a valid, defined table (cont.)
number in MAGEC
**W-Fld****:** has meaning only if the edit type for this screen field is "T". It is the seven-character name of the (cont.)
screen field into which MAGEC is to set the description (from the lookup table entry) corresponding to the value (cont.)
entered into this field. For example: if this field is a type T field using table 003 (State & Province Code Table), (cont.)
and the operator has entered "TX" into it, the description "TEXAS" would be displayed in the field named as this (cont.)
field's W-Field. The name you enter into this parameter must be a valid, defined screen field name in this same mask; (cont.)
further, the field having that name must be specified as an edit type "W" (hence, the term W-field). The only exception (cont.)
is that MAGEC will accept a specification of the type "T" field as the W-field for itself. This would result in an (cont.)
automatic code translation, i.e the operator enters TX into a field and it is automatically converted into TEXAS in the (cont.)
same field on the screen.
The W-field occurrence [**( ... )**] is a modifier for the W-field name. It is the occurrence number, or subscript. A value of 000 means that this W-field is not an arrayed field.
**Req:** is a parameter specifying that this field is (R) required, or (O) optional. Optional fields may be left blank by the operator and will default to spaces or zero, depending on edit type.
**Loc****:** is the designator for the position of this field on the generated browses. A value of 0 indicates that (cont.)
this field does not appear on the browses. A value of 1 thru 9 indicates the relative position, left to right, of this (cont.)
field on the browses.
| ```
**
MSKDEF nnn ................ ............. ...
@
MAGEC SCREEN PAINTER (PFKEYS) --FIELD: 18=CHG 19=DEL 20=DUP 21=MOVE
LAST GEN=93 08 05 --LINE: 4=DUP 5=ERASE 6=MOVE 13=DEL 15=INS
LAST UPD=93 06 22 2494 BYTES MAX, nnnn USED, nnnn LEFT PF24=POP-UP HELP
```**
**
Figure 06 -- MSKDEF with Window Displayed
#
MSKDEF Functions
##
Getting Help
There are several types of online help available to you while you are using the MSKDEF function. You should take advantage of them to ease your task and reduce the need to remember codes.
For hardcopy tables of code values, copy the appendices from your tutorials.
For general explanation for the MSKDEF function and field specifications:
press PF1 (F1, on a PC)
For a pop-up window listing color codes, attribute codes, and other useful screen definition information:
press PF24 (Alt-F4, on a PC)
##
Using a Mouse
On a PC or LAN, MAGEC supports most Mouses (or Mice, as you prefer). You do not need a Mouse to use MAGEC, the Mouse (cont.)
merely is a convenient way to do many commonly used functions. MAGEC can be used in Text (character) mode or in GUI (cont.)
(Graphical User Interface) mode and the usage of a mouse differs. In GUI mode, there is a menu bar, pull-down menus, (cont.)
pushbuttons, and icons to mouse-select all of the MSKDEF functions. In Text mode, there are PF key instructions on the (cont.)
screen. Pointing to the PF key instruction and clicking the left mouse button causes that PF key to be depressed (cont.)
(logically). This works much like pushbuttons and icons in GUI mode.
##
Changing a Field
The PF18 (Shift-F8, on a PC) key is used to change specifications for a screen field. To change any of the parameters for a screen field:
position the cursor onto the desired field
(anywhere in the field, but not on the "stopper")
press PF18
(window appears with all of that field's specifications)
overtype any of the specifications you wish to change
press ENTER
(message in SCOMPL tells you either that your change was completed or gives you an error message)
##
Changing a Field (continued)
To change the literal value for any field:
overtype the literal value directly onto the screen image
(if you move the stopper, you should also change the field's length specification accordingly
see below)
position the cursor onto the desired field
(anywhere in the field, but not on the "stopper")
press PF18
(window appears with all of that field's specifications)
change any specifications, if desired
next: msk03.md.txt