Presentation is loading. Please wait.

Presentation is loading. Please wait.

ExcelSys, Inc. Model Building Made Easy Presented by Sandi McDonald ExcelSys, Inc.

Similar presentations


Presentation on theme: "ExcelSys, Inc. Model Building Made Easy Presented by Sandi McDonald ExcelSys, Inc."— Presentation transcript:

1 ExcelSys, Inc. Model Building Made Easy Presented by Sandi McDonald ExcelSys, Inc.

2 Why? u SAG Models are inappropriate 4Re-engineering 4Mainframe GUI 4Web Browser u SAG Models are insufficient 4Separate Data Validation 4Web Configuration

3 ExcelSys, Inc. How? u How CONSTRUCT Generates u How the Model is defined u How the Model is built u How the Code Frames are built u How the Model Components are created

4 ExcelSys, Inc. Sample Model - Validation BatchMaint Validation Object SubpObject Dialog

5 ExcelSys, Inc. How CONSTRUCT Generates

6 ExcelSys, Inc. How the Model is Defined Model OBJECT-MAINT-DIALOG-SUBP displayed successfully CSDFM N A T U R A L C O N S T R U C T 4.1.2 CSDFM0 Aug 10 Maintain Models 1 of 1 Action..................... __ A,B,C,D,M,N,P,R Model...................... OBJECT-MAINT-DIALOG-SUBP________ Description........ *0201_____________________________________________________ OBJECT-MAINT-DIALOG-SUBP Subprogram PDA name................. CUOMPDA_ Status window............ Y Programming mode......... S_ Comment start indicator.. **_ Type..................... N Subprog. Comment end indicator.... ___ Code frame(s)............ COMA?___ COMB?___ COMC?___ COMD?___ ________ Modify server specificatn CUOMMA__ CUOMMB__ CUOMMC__ CUOMMD__ ________ ________ ________ ________ ________ ________ Modify client specificatn CUOMMA__ CUOMMB__ CUOMMC__ CUOMMD__ CUOMME__ ________ ________ ________ ________ ________ Clear specification...... CUOMCS__ Post-generation.......... CUOMPS__ Read specification....... CUOMR___ Save specification....... CUOMS___ Pre-generation........... CUOMPR__ Document specification... CUOMD___ Command............ __________________________________________________________ Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- help retrn quit frame main

7 ExcelSys, Inc. How the Model is Built

8 ExcelSys, Inc. How the Code Frames are Built

9 ExcelSys, Inc. Prototype u Design, Write and Test Sample Program 4Control logic 4Interface with menu 4PF-keys 4Update logic 4Confirmation prompts 4etc. u Read program into Code Frame Editor u Convert specifics to variables

10 ExcelSys, Inc. Administration Menu In SYSCST, enter MENU CSDMAIN N A T U R A L C O N S T R U C T 4.1.2 CSDMNM0 Aug 10 Administration Main Menu 1 of 1 Functions ----------------------------------------------- M Maintain Models F Code Frame Menu S Maintain Subprograms R Maintain Control Record C Compare Menu D Drivers Menu (CUA) ? Help. Return ----------------------------------------------- Function........... _ Command............ __________________________________________________________ Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- help retrn quit lang

11 ExcelSys, Inc. Code Frame Editor Code Frame......... COMA9 SIZE 11061 Description........ Object Maint Dialog* define data area FREE 57308 > > + ABS X X-Y _ S 166 L 2....+....1....+....2....+....3....+....4....+....5....+....6....+....7.. T C DEFINE DATA GDA-SPECIFIED 1 GLOBAL USING &GDA &WITH-BLOCK " SUBPROGRAM 1 PARAMETER " 01 #PDA-KEY(&KEY-NAT-FORMAT) " 01 #PDA-ACTION(A&ACTION-LENGTH) " NOT GDA-SPECIFIED 2 PARAMETER USING CDPDA-D /* Dialog Information. " PARAMETER USING CDPDA-M /* Message Information. " PARAMETER USING CDPDA-P /* Other Information. " RETURN-TO-CONDITION 1 PARAMETER-DATA U " NOT GDA-SPECIFIED AND NOT SUBPROGRAM 1 LOCAL USING CDPDA-D /* Dialog Information. " LOCAL USING CDPDA-E /* Error Information. " LOCAL USING CDPDA-M /* Message Information. " LOCAL USING CDPDA-P /* Pass Information. "....+....1....+....2....+....3....+....4....+....5....+....6....+....7.. T help retrn quit main

12 ExcelSys, Inc. Read into Code Frame & Convert Specifics Code Frame not found. New member started Code Frame : EXCLC1 Line: 1 of 1 Description: Size: 4 Free: 120141 Cmd: read excelsys Abs: X x-y: _ Dir: + All...+....1....+....2....+....3....+....4....+....5....+....6....+....7.. T C Code Frame : EXCLC1 Line: 1 of 146 Description: Size: 3688 Free: 119921 Cmd: Abs: X x-y: _ Dir: + Top...+....1....+....2....+....3....+....4....+....5....+....6....+....7.. T C DEFINE DATA PARAMETER 1 #ACTION (A1) 1 #KEY (A8) 1 #MSG (A79) LOCAL 1 #HEADER (A30) INIT 1 #CV1 (C) 1 #CV2 (C) 1 #CV3 (C) 1 #CV4 (C)

13 ExcelSys, Inc. Convert Specifics to Variable u Substitution parameters Substitute one for one u Conditional Code Frame Lines Code is only in program based on condition u Generator Process Calls Code which is more complex u User Exit Definition Code which cannot be anticipated

14 ExcelSys, Inc. Substitution Parameters * * View to obtain data for map and to be used for update * 1 UPDATE-VIEW VIEW OF EMPLOYEES ***** FIND-1. FIND UPDATE-VIEW WITH PERSONNEL-ID = #KEY IF NO RECORDS FOUND COMPRESS 'Employee' #KEY 'Does Not Exist' INTO #MSG ESCAPE BOTTOM (PROG.) END-NOREC * * View to obtain data for map and to be used for update * 1 UPDATE-VIEW VIEW OF &PRIME-FILE ***** FIND-1. FIND UPDATE-VIEW WITH &PRIME-KEY = #KEY IF NO RECORDS FOUND COMPRESS '&PRIME-KEY' #KEY 'Does Not Exist' INTO #MSG ESCAPE BOTTOM (PROG.) END-NOREC

15 ExcelSys, Inc. Conditional Code Frame Line Description: BROWSE CODE 2 (MAIN BODY) Size: 54125 Free: 67900 Cmd: Abs: X x-y: _ Dir: +....+....1....+....2....+....3....+....4....+....5....+....6....+....7.. T C MAP-USED 1 MAP-CONTAINS-STAR 2 Subprogram: CUSCGIN1 Parameter: N " ELSE 2 USE-MSG-NR 3 INPUT WITH TEXT *MSG-INFO.##MSG-NR, " ELSE 3 INPUT WITH TEXT MSG-INFO.##MSG, " RETURN-TO-CONDITION 2 MSG-INFO.##MSG-DATA(1), MSG-INFO.##MSG-DATA(2), " MSG-INFO.##MSG-DATA(3) " USING MAP '&MAP-NAME' " ELSE 1 Subprogram: CUSCGIN1 Parameter: N " RESET MSG-INFO

16 ExcelSys, Inc. Generator Process Calls Code Frame : CUOBC2 Line: 91 of 273 Description: OBJECT SUBPROGRAM SUBROUTINES Size: 16516 Free: 103189 Cmd: Abs: X x-y: _ Dir: +....+....1....+....2....+....3....+....4....+....5....+....6....+....7.. T C /* /* Shift primary entity information to object MOVE BY NAME &PRIME-FILE TO &OBJECT-NAME MULTIPLE-ENTITIES 1 Subprogram: CUOBGET Parameter: LEVEL-1-PERFORMS N " ASSIGN &RESTRICTED-PDA.HELD-ID = &OBJECT-PDA-ID END-FIND AFTER-GET U END-SUBROUTINE /* GET-OBJECT MULTIPLE-ENTITIES 1 Subprogram: CUOBGET Parameter: GET-SUBROUTINES N "

17 ExcelSys, Inc. Called Subprogram 0210 DEFINE DATA 0220 PARAMETER USING CUOBPDA 0230 PARAMETER USING CU--PDA 0240 PARAMETER USING CSASTD 0550 **SAG DEFINE EXIT GENERATE-CODE 0560 DECIDE ON FIRST VALUE OF CU--PDA.#PDA-FRAME-PARM 0570 VALUE 'LEVEL-1-PERFORMS' 0580 ASSIGN #I = 1 0590 PERFORM GEN-PERFORM-GET-SUBROUTINE 0600 VALUE 'LEVEL-1-AFTER-GET' 0610 PERFORM GEN-LEVEL-1-AFTER-GET 0620 VALUE 'GET-SUBROUTINES' 0630 PERFORM GEN-GET-SUBROUTINE 0640 NONE 0650 ASSIGN CSASTD.RETURN-CODE = 'E' 0660 COMPRESS 'Invalid parameter:' CU--PDA.#PDA-FRAME-PARM 'passed to' 0670 *PROGRAM TO CSASTD.MSG 0680 END-DECIDE 0690 *

18 ExcelSys, Inc. Generate the Code > > + Subprogram CUOBGET Lib SYSCST....+....1....+....2....+....3....+....4....+....5....+....6....+....7.. 1120 FOR #I = 2 TO CUOBPDA.C#RELATIONSHIP-INFO 1130 ASSIGN #PARENT-I = CUOBPDA.#PDA-PARENT-FILE-ELEM(#I) 1140 PRINT(SRC) NOTITLE '*' 1150 PRINT(SRC) NOTITLE '*'(72) 1160 PRINT(SRC) NOTITLE 'DEFINE SUBROUTINE' 1170 CUOBPDA.#PDA-RELATED-FILE-NAME(#I)(EM=' G-'X(30)) 1180 PRINT(SRC) NOTITLE '*'(72) 1190 PRINT(SRC) NOTITLE '*' 1200 PRINT(SRC) NOTITLE '* Get' CUOBPDA.#PDA-RELATED-FILE-NAME(#I) 1210 'related to' CUOBPDA.#PDA-RELATED-FILE-NAME(#PARENT-I)

19 ExcelSys, Inc. User Exit Definition.eTER-OBJECT-CALL U * * If object detected an invalid field, reinput the screen IF MSG-INFO.##ERROR-FIELD NE ' ' THEN CSMUSEX NATURAL CONSTRUCT Aug 10 Maintain User Exit 1 of 1 User exit name......... AFTER-OBJECT-CALL Code frame name........ COMC9 Conditional N User exit required..... X Generate as subroutine. _ Sample subprogram...... ________ Default user exit code. *_______________________________________________________________ ________ * Additional processing upon returning from object subprogram, for______ * example, MSG-INFO.##ERROR-FIELD or MSG-INFO.##MSG/MSG-NR could be_____ * overriden.______________________________________________________ ______ ________________________________________________________________ ________

20 ExcelSys, Inc. Define Model Model OBJECT-MAINT-DIALOG-SUBP displayed successfully CSDFM N A T U R A L C O N S T R U C T 4.1.2 CSDFM0 Aug 10 Maintain Models 1 of 1 Action..................... __ A,B,C,D,M,N,P,R Model...................... OBJECT-MAINT-DIALOG-SUBP________ Description........ *0201_____________________________________________________ OBJECT-MAINT-DIALOG-SUBP Subprogram PDA name................. CUOMPDA_ Status window............ Y Programming mode......... S_ Comment start indicator.. **_ Type..................... N Subprog. Comment end indicator.... ___ Code frame(s)............ COMA?___ COMB?___ COMC?___ COMD?___ ________ Modify server specificatn CUOMMA__ CUOMMB__ CUOMMC__ CUOMMD__ ________ ________ ________ ________ ________ ________ Modify client specificatn CUOMMA__ CUOMMB__ CUOMMC__ CUOMMD__ CUOMME__ ________ ________ ________ ________ ________ Clear specification...... CUOMCS__ Post-generation.......... CUOMPS__ Read specification....... CUOMR___ Save specification....... CUOMS___ Pre-generation........... CUOMPR__ Document specification... CUOMD___ Command............ __________________________________________________________ Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- help retrn quit frame main

21 ExcelSys, Inc. How the Model Components are created

22 ExcelSys, Inc. PDAs u Common PDA 4CU--PDA 4Headers, Title, etc. 4#PDA-FRAME-PARM Pass Parameter from Frame Code u Standard PDA 4CSASTD 4Message Fields u Model Specific PDA

23 ExcelSys, Inc. Model Specific PDA u Condition Codes 4#PDAC- (Logical) u Fields from Map(s) 4#PDAX- u Derived Fields 4#PDA-

24 ExcelSys, Inc. Generate PDA Use CST-PDA 01 PDA-name 02 #PDA-CONDITION-CODES (L/75) 02 #PDA-USER-AREA (A100/40) 02 REDEFINE #PDA-USER-AREA 03 #PDAC-ADD-ACTION (L) 02 REDEFINE #PDA-USER-AREA 03 #PDAX-PRIME-FILE (A32) 03 #PDAX-PRIME-KEY (A32) 03 #PDAX-..... FIND. FIND (1) &PRIME-FILE WITH &PRIME-KEY = #KEY MOVE *ISN (FIND.) TO #UPDATE-ISN ESCAPE BOTTOM (FIND.) END-FIND

25 ExcelSys, Inc. Modify PDA u EDIT PDA-name u Use the editor to change the PDA 01 #KEY (&KEY-FORMAT) 01 PDA-name 02 #PDA-CONDITION-CODES (L/75) 02 #PDA-USER-AREA (A100/40) 02 REDEFINE #PDA-USER-AREA 03 #PDAX-PRIME-FILE (A32) 03 #PDAX-PRIME-KEY (A32) 03 #PDAX-..... ** 03 #PDA-KEY-FORMAT (A15)

26 ExcelSys, Inc. Design & Build Modify Map(s) u Minimize User Parameters-System 4Globals 4Direct Command Processing 4Vertical Scroll Pages 4etc. u Minimize User Parameters-Module 4Use PREDICT 4Use Maps 4Supplied PREDICT & NATURAL Objects u Use Standard Helproutines

27 ExcelSys, Inc. Minimize User Parameters CUSCMA BROWSE Program CU-- MA0 Aug 10 Standard Parameters 1 of 4 Module............. MYBROWSE System............. NATURAL-CONSTRUCT_______________ Global data area... CDGDA___ With block......... ________________________________ Title.............. Browse..._______________ Description........ This program is used to browse the..._________________ _______________________________________________________ First heading...... ________________________________________________ Second heading..... ______________________________________________________ Command............ _ Message numbers.... _ Password........... _ Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11-- PF12--- right help retrn quit right main

28 ExcelSys, Inc. Use Standard Helproutines Parameter data area is required CUGRMA CST-READ Subprogram CUG-MA0 of 1 Position cursor or enter screen value to select CNHOBJN NATURAL CONSTRUCT CNHOBJ0 Aug 10 Select Parameter 1 of 1 Module Type SM Vers Level User Date Time -------- ------------ ---- ---- -------- -------- -------- ------- - ____ CD-MKEY Parameter 2.2 0008 CST412 98-02-26 18:17:09 ____ CDAAACTA Parameter 2.2 0008 CST412 98-02-26 18:17:09 ____ CDACTA Parameter 2.2 0008 CST412 98-02-26 18:17:10 ____ CDACTD Parameter 2.2 0008 CST412 98-02-26 18:17:10 CDACURS Parameter 2.2 0008 CST412 98-02-26 18:17:13 CDADEBUG Parameter 2.2 0008 CST412 98-02-26 18:17:13 CDAMARK Parameter 2.2 0008 CST412 98-02-26 18:17:14 CDAOBJ Parameter 2.2 0008 CST412 98-02-26 18:17:15 CDAOBJ2 Parameter 2.2 0008 CST412 98-02-26 18:17:15 CDAPPFKA Parameter 2.2 0008 CST412 98-02-26 18:17:15 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10- help retrn bkwrd frwrd

29 ExcelSys, Inc. Generate Subprograms CSGMAIN ***** N A T U R A L C O N S T R U C T 4.1.2 ***** CSGMNM1 Aug 10 - GENERATION MAIN MENU - 05:00 PM Code Function Spec Panel Model Options ---- ------------------------------------- ---- ----- ----- ------- R Read specification and object R O M Modify specification panel(s) O O R U User exit editor R G Generate source from specification R R O T Test generated source R E Edit generated source R S Save specification and source R O W Stow specification and source R O L List generated programs for selection O C Clear specification and edit buffer O ?/. Help/Terminate ---- ------------------------------------- ---- ----- ----- ------- Code...: _ Specification/Program: EXCELRD_ Panel..: __ Library....: SYSTEM Model..: CST-READ________________________ Options: _ Object type: Subprog. Desc...: MODEL READ Subprogram

30 ExcelSys, Inc. Generate Subprograms u No User Exits Needed 4POSTGENERATE 4READ u User Exits - Optional 4CLEAR 4DOCUMENT u User Exits - Required 4PREGENERATE 4SAVE

31 ExcelSys, Inc. Subprograms - No User Exits u POSTGENERATE 4Substitute values for ‘&’ in Code Frame u READ 4Retrieve #PDAX- values from the most recently generated object

32 ExcelSys, Inc. Subprograms - Optional User Exits u CLEAR 4Initialize PDA fields 4Optionally provide defaults for PDA fields u DOCUMENT - Suggestions 4Description 4Inputs 4Non-standard PF Keys 4Miscellaneous details of interest

33 ExcelSys, Inc. Clear Subprogram CSGSAMPL CST-CLEAR Subprogram CSGSM0 Aug 10 User Exits 1 of 1 User Exits Exists Sample Required Conditional -------------------------------- -------- ---------- -------- ------------ _ CHANGE-HISTORY Subprogram _ PARAMETER-DATA _ BEFORE-CHECK-ERROR Example _ LOCAL-DATA _ PROVIDE-DEFAULT-VALUES Subprogram _ ADDITIONAL-INITIALIZATIONS Example _ END-OF-PROGRAM Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10-- PF11--PF12--- help retrn quit bkwrd frwrd

34 ExcelSys, Inc. Document Subprogram CSGSAMPL CST-DOCUMENT Subprogram CSGSM0 Aug 10 User Exits 1 of 1 User Exits Exists Sample Required Conditional -------------------------------- -------- ---------- -------- ------------ _ CHANGE-HISTORY Subprogram _ PARAMETER-DATA _ BEFORE-CHECK-ERROR Example _ LOCAL-DATA _ START-OF-PROGRAM _ ADDITIONAL-TRANSLATIONS _ ADDITIONAL-INITIALIZATIONS Example _ DESCRIBE-INPUTS Example _ PF-KEYS Subprogram _ MISCELLANEOUS-VARIABLES Subprogram _ END-OF-PROGRAM Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10- -PF11--PF12--- help retrn quit bkwrd frwrd

35 ExcelSys, Inc. Document Subprogram CUGDSKEY ***** MODEL DOCUMENT Subprogram ***** CUGDSM1 - SUPPORTED PF KEYS - 05:19 PM Mark the keys to be supported by the generated Validation for Update Edits subprogram _ help _ pref _ retrn _ confm _ quit _ add _ flip _ place _ bkwrd _ frwrd _ left _ right _ main _ print

36 ExcelSys, Inc. Subprograms - Required User Exits u PREGENERATE 4Set #PDAC- Condition Codes to True 4Derive #PDA- variables u SAVE 4Save supplied #PDAX- values by writing them to the source (**SAG...)

37 ExcelSys, Inc. PreGenerate Subprogram CSGSAMPL CST-DOCUMENT Subprogram CSGSM0 Aug 10 User Exits 1 of 1 User Exits Exists Sample Required Conditional -------------------------------- -------- ---------- -------- --- --------- _ CHANGE-HISTORY Subprogram _ PARAMETER-DATA _ BEFORE-CHECK-ERROR Example _ LOCAL-DATA _ START-OF-PROGRAM _ ADDITIONAL-TRANSLATIONS _ ADDITIONAL-INITIALIZATIONS Example _ DESCRIBE-INPUTS Example _ PF-KEYS Subprogram _ MISCELLANEOUS-VARIABLES Subprogram _ END-OF-PROGRAM Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10-- PF11--PF12--- help retrn quit bkwrd frwrd

38 ExcelSys, Inc. PreGenerate Subprogram 0010 DEFINE EXIT SET-CONDITION-CODES 0020 * Set conditions in PDA. 0030 DECIDE FOR EVERY CONDITION 0040 WHEN #PDAX-GDA NE ' ' 0050 ASSIGN #PDAC-GDA-SPECIFIED = TRUE 0060 WHEN NONE 0070 IGNORE 0080 END-DECIDE 0090 END-EXIT 0100 DEFINE EXIT GENERATE-CODE 0110 IF #PDAX-PDA NE ' ' 0120 ASSIGN #PDA-PRIMARY-DATA = #PDAX-PDA 0130 ELSE 0140 ASSIGN #PDA-PRIMARY-DATA = #PDAX-LDA 0150 END-IF 0160 END-EXIT

39 ExcelSys, Inc. Save Subprogram CSGSAMPL CST-SAVE Subprogram CSGSM0 Aug 10 User Exits 1 of 1 User Exits Exists Sample Required Conditional -------------------------------- -------- ---------- -------- ------------ _ CHANGE-HISTORY Subprogram _ PARAMETER-DATA _ BEFORE-CHECK-ERROR Example _ LOCAL-DATA Example _ START-OF-PROGRAM X SAVE-PARAMETERS Subprogram X _ ADDITIONAL-INITIALIZATIONS Example _ END-OF-PROGRAM

40 ExcelSys, Inc. How the Model Components are created


Download ppt "ExcelSys, Inc. Model Building Made Easy Presented by Sandi McDonald ExcelSys, Inc."

Similar presentations


Ads by Google