Key: VACLOC 1 . . . on the top line and press ENTER.     ```** Notice the five Data Items displayed and their Locate Headings (column headings). Notice that two of the Data Items (cont.) come from the SIF Data Class (First Name and Last Name) while the rest come from the VAC Data Class. The Logical Join (cont.) technique we have employed lets your program access any items from its set of data (its Logical Record) just as if they (cont.) were all one large record, regardless of how many files they actually come from. You are looking at "page 1" of the Browse. If there were more Employees on the file than would fit on one screen, you (cont.) could press PF8 to "page forward". The message in SCOMPL (top right corner) will always tell you whether you have (cont.) reached the END OF LIST or whether you may press PF8 to continue. If you want to restart at the beginning, you could (cont.) press the PF5 key, no matter what page of the Browse you were on at the time. The record count line at the bottom of (cont.) the list of Employee data shows what page you are on and how many Employees you have been shown so (cont.) far. In the lower left corner you see the message telling you that you are Browsing Forward (in ascending order). You could use the PF7 key to reverse that direction if you wished. Near the lower left corner you see that the key being used to read the VAC data is "Employee # (9-digits)". That (cont.) happens to be the only key for the VAC Data Class. If there were others you could browse using any of them and in (cont.) either direction. You tell the Browses which key to use in your command on the top line, as: VACLOC 1 uses VACK1 (key 1) VACLOC 2 uses VACK2 (key 2) etc. MAGEC automatically supports up to nine keys per Data Class this way. If you key the command VACLOC 2 you will get an error message, since there is no key 2 defined for VAC at this time. You may wish to refer to the MAGEC "Database Administration" chapter to learn more about defining keys, or to the MAGEC Application User's Guide* for more about using the Browses. | ``` ** VACLOC 1 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/28/63 10.00 000-00-0003 Merlin the Magician 06/11/83 2.00 ++++ 03 Records Scanned, 03 Displayed so far - page 1 ++++ Key 1 = Employee# (9-digits) Press PF13 for Hardcopy You may position the CURSOR to an item and Press ENTER to "SEE" it (Browsing Forward) or Press PF4 to "CHG" it ```** Figure 18 -- Browse Display Before Project 2 ## Remove an Item from the Browse Display Now you are going to alter the specifications in the Dictionary to remove the Earned Vacation from the Browse display. | ``` **     DO THIS: Key: MSKDEF 600 . . . on the top line, press ENTER.     ```** The familiar MSKDEF screen will appear showing Mask 600 as it is currently defined. You can move the cursor using the (cont.) four arrow keys. You indicate the field you wish to act upon by placing the cursor on it and pressing a PF key to (cont.) indicate the desired action. | ``` **     DO THIS: Position the cursor to the variable field where Earned Vacation is displayed (not the prompt, the variable) and press PF18.     ```** The indicated field's characteristics will appear in the pop-up window. | ``` ** MSKDEF 600 Press PF10 to MSKCREAT Date:@ > @VACATION/SICK/COMP DAYS> @Time:@XX:XX:XX> @Emp#@999-99-9999> @First Name@---------------> @Last Name@------------------------> @Hire Date@--------> @Earned Vacation@----------> @Vacation Taken@----------> @Due@-------------> @Sick Days Earned@----------> @Sick Days Taken@----------> @Due@-------------> @Comp Days Earned@----------> @Comp Days Taken@----------> @Due@-------------> @Comments (3 lines)@----------------------------------------------> @----------------------------------------------> @----------------------------------------------> @Total Days Due@-------------> 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, 1151 USED, 1343 LEFT PF24=POP-UP HELP ```** Figure 19 -- Selecting a Variable for "Change" ## Remove Locate Position The last characteristic displayed, in the bottom line of the pop-up window is LOC. This is the Locate Position. The Earned Vacation is the fifth Data Item (left to right) on the Browse screen. | ``` **     DO THIS: Alter the Locate Position from "5" to "0", press ENTER.     ```** The change will be recorded on the Dictionary and Mask 600 will be redisplayed to you ready for further action. | ``` ** MSKDEF 600 -- HIT ENTER TO CHANGE -- Date:@ > @VACATION/SICK/COMP DAYS> @Time:@XX:XX:XX> @Emp#@999-99-9999> @First Name@---------------> @Last Name@------------------------> @Hire Date@--------> @Earned Vacation@----------> @Vacation Taken@----------> @Due@-------------> @Sick Days Earned@----------> @Sick Days Taken@----------> @Due@-------------> @Comp Days Earned@----------> @Comp Days Taken@----------> @Due@-------------> @Comments (3 lines)@----------------------------------------------> @----------------------------------------------> @----------------------------------------------> @Total Days Due@-------------> 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, 1151 USED, 1343 LEFT PF24=POP-UP HELP ```** *** Figure 20 -- Changing Locate Position to "0" ## Selecting a Field to Add to the Browse Next we will add the Total Days Due variable field to our browse display. | ```      DO THIS: Cursor select the Total Days Due variable, press PF18.     ```** | ``` ** MSKDEF 600 ++ FIELD DATA CHANGED ++ Date:@ > @VACATION/SICK/COMP DAYS> @Time:@XX:XX:XX> @Emp#@999-99-9999> @First Name@---------------> @Last Name@------------------------> @Hire Date@--------> @Earned Vacation@----------> @Vacation Taken@----------> @Due@ > @Sick Days Earned@----------> @Sick Days Taken@----------> @Due@-------------> @Comp Days Earned@----------> @Comp Days Taken@----------> @Due@-------------> @Comments (3 lines)@----------------------------------------------> @----------------------------------------------> @----------------------------------------------> @Total Days Due@-------------> 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, 1151 USED, 1343 LEFT PF24=POP-UP HELP ```** Figure 21 -- Adding a Field to Browse Screen ## Adding a Field to Browse Screen The bottom three rows now show the characteristics for the Total Days Due variable. The Locate Position is a "0". That (cont.) means that this field does not appear on the Browse screens. You are going to change that. | ``` **     DO THIS: Key: "5" into the Locate Position, press ENTER.     ```** Your change will be recorded and Mask 600 will be redisplayed. ** ** ** NOTE: ** At this point you have done all that is necessary to accomplish this project. All that is left is to regenerate and (cont.) compile the MMP and, of course, test. You have removed one field from the Browse and you have added another. Please (cont.) remember the way the Browse screen looked at the start of this exercise. Remember those Locate (cont.) Headings? If you do nothing more now, MAGEC will generate a default Locate Heading for this new field on the Browse screen. The (cont.) default name that it generates will be the Cobol source/target field name. That may be OK, but it is not the most (cont.) decorative possible heading. Therefore, you will next specify the Locate Heading you wish MAGEC to use instead of (cont.) generating a default. | ``` ** MSKDEF 600 -- HIT ENTER TO CHANGE -- Date:@ > @VACATION/SICK/COMP DAYS> @Time:@XX:XX:XX> @Emp#@999-99-9999> @First Name@---------------> @Last Name@------------------------> @Hire Date@--------> @Earned Vacation@----------> @Vacation Taken@----------> @Due@-------------> @Sick Days Earned@----------> @Sick Days Taken@----------> @Due@-------------> @Comp Days Earned@----------> @Comp Days Taken@----------> @Due@-------------> @Comments (3 lines)@----------------------------------------------> @----------------------------------------------> @----------------------------------------------> @Total Days Due@-------------> 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, 1151 USED, 1343 LEFT PF24=POP-UP HELP ```** ** Figure 22 -- Changing Locate Position from "0" to "5" ## Specifying a Locate Heading First you should obtain a "menu" list of the screen fields from Mask 600 which are to appear on the Browse. There is a (cont.) handy online function to do just that for you. It is called Screen Detail List (SCDLST). | ```      DO THIS: Key the command: SCDLST 600 . . . on the top line, press ENTER.     ```** Next: https://magec.com/DOC/markdown/cstm03.md.txt