customization, frequently re-generating and re-testing. This process is known as Self-Actualizing Prototyping since you (cont.)
have rapidly produced a prototype application and then iteratively improve it until it becomes the final, (cont.)
production-quality product.
#
STEP 4 --  Generate & Compile
##
TSKLST After Auto-Paint
The TSKLST screen now shows that you have accomplished quite a lot in so short a time.
There are 29 screen fields defined, which includes the headings and literals (prompts) and the screen variable fields. (cont.)
There were 11 variables corresponding to the 11 data items you selected in PAINT2, one of them OCCURS 3 (cont.)
TIMES.
The browse display will include 5 fields, the first five that you selected and in the order selected. The auto-paint (cont.)
feature includes the selected fields in the browse (locate) display, until it runs out of room on the 80-column display (cont.)
line used in the browses. You can override the selections made by auto-paint by simply updating the LOC: (cont.)
characteristics for screen fields (using MSKDEF, as previously shown).
All five of the fields to be included in the browse (locate) display have column headings specified for them. The (cont.)
auto-paint feature used the PROMPT (from the data item definitions) as the locate headings. If a given data item had (cont.)
not had a PROMPT specified it would have defaulted to the Cobol data name. All of ours had a PROMPT specified for this (cont.)
sample project.
You can also see that auto-paint has recorded some customization coding for your new application. This is the result of (cont.)
the automatic logical join. There is a data definition (%DATADEF) and, on a following page of the TSKLST, a logical (cont.)
join (%JOIN) recorded. The purpose for these particular pieces of customization code is to include a Cobol data (cont.)
definition for the SIF01 element into the MMP and to include the logical join coding to read the SIF01 (cont.)
element.
You are now ready to move on to the next step in the development process, generate and compile.
If you are using a mainframe computer:
| ```
**     DO THIS:
Press PF15 to exit MAGEC.
Enter your online job submission system (ICCF, ISPF, VOLLIE, etc.).
Submit the MMPCREAT job stream for Mask 600 (specified in the MMPCRE
control card).
Check that there were no errors from the MMPCRE step or from the Cobol
compile and link edit steps.
   
```**
If you are using a PC:
| ```
**     DO THIS:
Press Shift-F5 to exit MAGEC.
At the DOS prompt type in the command: MMPCREAT 600.
Allow it to execute. Check your results.
   
```**
| ```
**
TSKLST 600 PF8 = Next Page --PF5 = Page 1
  M A G E C  TASK LIST FOR MSK600
...............T A S K......................... PAGE 1  .....STATUS......
I. DEFINE APPLICATION TO DICTIONARY
1.  DEFINE SCREEN HEADER DONE
2.  DEFINE MMP DONE
II. VERIFY THAT FILES/DATABASE ARE DEFINED
1. DEFINE MASTER KEY & NORMALIZATION RULES DONE
  2.  DEFINE SUBORDINATE KEY(S) NOT DONE
III. DEFINE SCREENS
1.  PAINT SCREEN / DEFINE MASK DETAIL 29 DONE
2. SELECT FIELDS FOR LOCATE SCREEN 5 DONE
3. SPECIFY LOCATE HEADINGS 5 DONE
4. GENERATE MASK (EXECUTE MSKCREAT) DONE
IV. CODE CUSTOMIZATION ALGORITHMS
  A. DATA DIVISION
  1. DATA DEFINITIONS %DATADEF 1 DONE
2. ADD/MODIFY FUNCTION CODES %FUNCT DEFAULT LOGIC USED
3. MODIFY (MODMAINT) FUNCTION CODES %FUNCTM DEFAULT LOGIC USED
 Position the Cursor on an Item and Press ENTER to Select it, Press PF2 for
  Item Description  -OR-  PF1 FOR HELP
KEY = MASK NUMBER
```**
Figure 14 -- Task List Status After Auto-Paint
#
STEP 5 --  Demo & Test
##
New Copy of MMP
Depending on which TP monitor you are using you will have to use a different command to invoke the monitor's "new copy" (cont.)
routine. On a **PC** it is not necessary to do anything, MAGEC will automatically pick up the new copy if the program (cont.)
linked successfully. In **CICS **enter:
| ```
**     DO THIS:
CEMT SET PR(MMP600) NEW (from CICS terminal)
or: **CEMT SET PR(MMP600) NEW (from within MAGEC)
   
```**
In** Westi** enter:
| ```
**     DO THIS:
FCOPY,MMP600
   
```**
These all accomplish (logically) the same thing. They notify your TP monitor that a new version of your program (MMP600) has been catalogued to the library.
##
Testing Maintenance & Inquiry Functions
Now, get back into MAGEC to begin testing. Use the TranID "TS01". We have pre-loaded some demonstration data onto the (cont.)
files for you to save time. You can use your new application to add your own data or to inquire, browse, query, update, (cont.)
add, or delete our demo data.
When your new program was being generated, MAGEC automatically generated test-only security parameters and added them (cont.)
to the dictionary for you. If your online (CICS or Westi) system has been "up" during that process, you will need to (cont.)
tell MAGEC to refresh its in-memory images of the security parameters from the dictionary in order to permit immediate (cont.)
testing of your new application. This is done via the **LOAD command.
| ```
**     DO THIS:
In the upper-left corner of your screen (the function code field) enter:
**LOAD, and press ENTER
   
```**
| ```
**     DO THIS:
Enter the command: VACSEE 01
on top line, press ENTER
   
```**
The demonstration employee number 000000001 will be displayed to you. You might wish to alter the function code to (cont.)
VACCHG and update that record. You might also alter it to VACDEL to delete the record, and so on. If you just want to (cont.)
look at the demo data for now, you might wish to just press PF8 to "bump" forward to the next employee. Next, test the (cont.)
browse functions.
| ```
**
VACSEE 01
Date: 08/12/1988  VACATION/SICK/COMP DAYS Time: 10:15:04
  Emp# 000-00-0001
  First Name Harry
  Last Name Houdini
  Hire Date 12/11/45
  Earned Vacation  14.50
  Vacation Taken  2.25
  Sick Days Earned  124.50
  Sick Days Taken  3.00
  Comp Days Earned  2.00-
  Comp Days Taken  .00
 Comment (3 lines) Heavy into Escape literature.
  Likes to be submerged while handcuffed and
strait-jacketed in a coffin-like vault.
Press PF4 for browse (LOC) screen Press PF13 for Hardcopy
Press PF16 to Copy field to buffer  Press PF17 to Paste data from buffer
Press PF2 for field-level HELP
```**
Figure 15 -- Testing Maintenance & Inquiry Functions
##
Testing Browses
| ```
**     DO THIS:
Enter the command: VACLOC 1 and press ENTER.
   
```**
See what the browse screen looks like. Notice the column headings (locate headings).
Now try the cursor selection feature which is automatically provided with all MAGEC browses. Use the arrow keys to move (cont.)
the cursor down to one of the lines where an employee is listed (anywhere on the line will do). Press ENTER. You will (cont.)
immediately be transferred to the VACSEE screen for that employee. This feature lets you browse through the data (cont.)
without having to know the exact key value (employee #) and locate any item by visual recognition of, say, the name. (cont.)
That is why we call this a "locate" function.
The VACSCN and VACFND functions also support cursor selection. Try them now to see how they work.
| ```
**     DO THIS:
Enter: VACSCN 1
on top line, press ENTER -- then key "harry" into the
Selection Mask line (just below headings) under "First Name",
press ENTER.
   
```**
Then, if you would like some help
press HELP PF1.
Every MAGEC function has built-in HELP-key support. MAGEC generates some basic online documentation for you when you (cont.)
generated your MMP (via MMPCREAT) earlier. You can add an unlimited amount of your own to supplement or replace it (cont.)
entirely.
Now try the "Find" function.
| ```
**     DO THIS:
Enter: VACFND 1
on top line, press ENTER -- then key "harry|or|bob" into
the Search Argument field, press ENTER.
   
```**
Again, you may press HELP if you like.
Now, with a list of found employees shown on the VACFND screen, you can cursor-select one.
| ```
**     DO THIS:
Point the cursor to a line on which an employee is displayed, press ENTER.
   
```**
You will be shown the VACSEE screen for the selected employee.
If you wish to browse in descending order through the file (rather than ascending order) using any NXT, LOC, SCN, or FND function, you can do so pressing PF7
| ```
**
 VACLOC 01  END OF LIST - PF5 = Restart/PF7=Backward
Emp #  First Name  Last Name  Hire Date Earned Vacation
000-00-0001 Harry  Houdini  12/11/45  14.50
000-00-0002 Uri  Geller  02/13/81  125.00-
000-00-0003 Merlin The Magician  01/21/80  5.25
  ++++ 03 Records Scanned, 03 Displayed so far - Page 1 ++++
KEY 1 = Employee # (9-digits) Press PF13 for Hardcopy
You may Position the CURSOR on an item and Press ENTER to SEE it
(Browsing Forward) or Press PF4 to CHG it
```**
Figure 16 -- Testing Browse Functions
#
STEP 6 --  Documentation
As you have already seen, every online function you generate with MAGEC has automatic HELP-key support and MAGEC even generates some basic online documentation for you.
MAGEC has a complete Online Documentation system built in. You may use it to enter and maintain whatever additional (cont.)
documentation you want to supplement or replace the standard instructions generated by MAGEC. You can even use the (cont.)
Online Documentation system to maintain documentation for non-MAGEC systems since it can also produce hardcopy (cont.)

next: app05.md.txt