Development is Done ## What Have You Produced? In completing the tutorial for this first project you have produced a powerful and useful online application. We (cont.) encourage you to fully exercise and test the new Vacation system you have just created in order to understand just how (cont.) much you can accomplish in so short a time with MAGEC. Your new application supports Inquiry, Update, Data Entry, Browse, and Programmerless Query. The data is always (cont.) properly edited and formatted for you. Entry formats are extremely user-friendly and "bad data" never reaches the (cont.) files. The nine standard functions were generated automatically for you and they are all done in one compact, efficient program. The program easily handles multiple files and multiple screens. All access to these new functions and the vacation data are governed by the built-in security system. You (or your (cont.) security officer) can control When, Where, and by Whom each function can be done. Changes to security parameters take (cont.) effect immediately. MAGEC will automatically create custom menus for your users based upon their individual security authorizations. You never need to do any programming or maintenence for these menus. The new application automatically has Pop-Up Windows and Window swapping features. The user can have two full-screen (cont.) sessions active at one terminal, (s)he can swap between them using the PF9 key. The user can also cursor-select an item (cont.) from a browse or query screen and then, by pressing PF24, receive a pop-up list of the ID's of all the items shown on (cont.) that browse or query--cursor-selecting from that pop-up list will transfer to the selected item. Each function of the new application has HELP key support. By simply pressing PF1 the user can view Online (cont.) Documentation for the function (s)he is doing, or for any error messages, without disturbing the screen or data being (cont.) displayed. Field-level HELP is accommodated via PF2 (F2 on PC). If a screen field is being validated using MAGEC's (cont.) table lookup facility, then the field-level help display will include a scrolling display (a "pick list") of valid (cont.) entries with descriptions cursor-selecting from that scrolling list will automatically fill the original screen field with the selected value. Copy and Paste facilities are accommodated using PF16 (Copy) and PF17 (Paste). This enables your user to copy data from any field of any screen to any other without re-keying it. The new application is extremely efficient. It even compresses messages to minimize transmissions both to and from the terminal. You can print hardcopy technical documentation for the new application by executing the MSKDOC batch utility program. You can also print the standard Cobol compile listing. You have unlimited customization capabilities, there is virtually nothing that you cannot do using MAGEC. What you have (cont.) demonstrated so far is merely what MAGEC generates *without any customization*. This is what might be called a (cont.) "vanilla" application in MAGEC. In the MAGEC "Customization" Tutorial you will learn how to modify this vanilla (cont.) application using standard Cobol coding which MAGEC will save in its dictionary and insert into the source (cont.) program. # Appendix A --  Sample Files ## VAC Data Class The VAC data class is defined as a VSAM/KSDS file with a DD NAME of TSTK1. The total record length is 270 bytes. There are two elements defined: VAC00 36-byte audit-stamp VAC01 234-byte vacation data There is one key for the VAC data class: VACK1 9-digit employee# + 9-byte blank padding The VAC data class is actually a redefinition of the MAGEC "test" file (TSTK1). There is also a data class named TST (cont.) which defines this same file. That is the reason for the 9-byte padding on the key. The Cobol copy book defining the VAC01 element is on the MAGEC library (ALG-file) as a member named VAC01-C. You may review it online in MAGEC by entering: LBRSEE VAC01-C                 To view the data class definition for VAC enter: DCLSEE VAC                 To view the key definition enter: KYFSEE VACK1                 To view the element defintions enter: ELTSEE VAC01                 ELTSEE VAC00                 To view the data item (field) definitions for VAC01 enter: DITLST VAC01                 You can cursor-select any item to see more detail. ## SIF Data Class The SIF data class is defined as a VSAM/KSDS file with a DD NAME of SIFK1. The total record length is 300 bytes. There are two elements defined: SIF00 36-byte audit-stamp SIF01 234-byte security information data There is one key for the SIF data class: SIFK1 2-byte prefix + 9-digit employee# ** entire key is binary (6-bytes long) The Cobol copy book defining the SIF01 element is on the MAGEC library (ALG-file) as a member named SIF01-C. You may review it online in MAGEC by entering: LBRSEE SIF01-C                 To view the data class definition for SIF enter: DCLSEE SIF                 To view the key definition enter: KYFSEE SIFK1                 To view the element definitions enter: ELTSEE SIF01                 ELTSEE SIF00                 To view the data item (field) definitions for SIF01 enter: DITLST SIF01                 (you can cursor-select any item to see more detail) ** ** NOTE: ** There is a security authorization requirement to access the SIF01 element. Also, some of its data is encrypted for further security. # Appendix B --  Attributes ## 3270 Attributes The standard default logic generated by MAGEC handles attributes so well that you will rarely need to deal with them. (cont.) However, MAGEC allows you to freely manipulate 3270 attributes both at execution time and as you are "painting" your (cont.) screens. You can easily override the default attributes. To simplify your work in handling 3270 attributes we have established a naming scheme for them. Your online programs (cont.) (MMP's) include a copy book which equates these mnemonics to the actual one-byte attribute codes. You can view that (cont.) copy book in MAGEC by entering: LBRSEE MAGEC003                 The symbolic names for the attribute codes are six-charaters long, each character position having a specific meaning and set of possible values:      Character     Letter       Meaning      Position      Value        of Letter Value           1          P          Protected                 &nbs (cont.) p;    S          Skip-Protecte (cont.) d                      U          Unprotected           2          A          Alphanumeric                 &nbs (cont.) p;    N          Numeric Shift (cont.) (keyboard)           3          D          Displayable                 &nbs (cont.) p;    N          Non-displayab (cont.) le           4          R          Regular Intensity                 &nbs (cont.) p;    H          High-intensit (cont.) y           5      &nb (cont.) sp;   N          Non-selector-pen (cont.) detectable           6      &nb (cont.) sp;   M          Modify Data Tag ON                 &nbs (cont.) p;    F          Modify Data Tag (cont.) OFF ** NOTE: ** In a GUI environment the distinction between the Protect and Skip-Protect attributes is somewhat more important than in (cont.) a text-based environemnt. If your application is executing in text mode, then the only difference between these (cont.) attributes is that as the operator is typing into the screen the cursor will automatically skip, upon reaching a (cont.) Skip-protect attribute on the screen, to the next Unprotected field. This is compared to the cursor simply stopping (cont.) upon reaching a Protect attribute. In GUI mode, the operator cannot even place the cursor to any Skip-Protected field on the screen. This is true whether (cont.) using a mouse or cursor movement keys on the keyboard. That means that if your application expects the operator to (cont.) point to a certain position or field on the screen, it must not be Skip-Protected. ## Table of Attributes In the MAGEC003 copy book included in your MMP's the symbolic six-character name is prefixed with an "AT" so that they (cont.) will all appear together in a sorted cross reference listing (if used) from the Cobol compiler.      Symbolic         Cobol Name    Actual Code        Name         (in MAGEC003)   Value           UANRNF            ATUANRNF     <      UADRNF            ATUADRNF      b (blank)      UADHNF            ATUADHNF     H      UANRNM            ATUANRNM     (      UADRNM            ATUADRNM     A      UADHNM            ATUADHNM     I      UNDRNF            ATUNDRNF     &      UNDHNF            ATUNDHNF     O      UNDRNM            ATUNDRNM     J      UNDHNM            ATUNDHNM     R      PANRNF            ATPANRNF     %      PADRNF            ATPADRNF     -  (dash)      PADHNF            ATPADHNF     Y      PANRNM            ATPANRNM     _ (underscore)      PADRNM            ATPADRNM     /      PADHNM            ATPADHNM     Z      SANRNF            ATSANRNF     +      SADRNF            ATSADRNF     0 (zero)      SADHNF            ATSADHNF     8      SANRNM            ATSANRNM     ' (apostrophe)      SADRNM            ATSADRNM     1 (one)      SADHNM            ATSADHNM     9 # Appendix C --  Edit Type Codes ## Automatic Editing When you define your mask using MSKDEF, or when you modify it after having allowed the auto-paint feature to generate (cont.) it for you, you can specify to MAGEC that you desire automatic editing to be done to screen fields. You do this by (cont.) specifying, for each field, an edit type code. These same edit type codes are also specified in the dictionary definitions for data items (DIT's). When you use the (cont.) auto-paint feature (for online screens) or the automatic report program generation (covered in the "Batch Developer" (cont.) Tutorial) MAGEC sets the screen or report editing formats based upon the edit type codes found in the DIT definitions. (cont.) Next: https://magec.com/DOC/markdown/app04.md.txt