advantage gen client server development tutorial

135
2002 ActiveDevelopment Group, Inc. Advantage Gen Client/Server Development Tutorial Tony R. Pierce ActiveDevelopment Group, Inc. www.activedevgroup.com Prepared by: Tony R. Pierce Submitted to: Advantage Gen Development Community EDGE 2002 Users Conference Date: March 2002 Document Name: Advantage Gen Client/Server Development Tutorial Release Number: 1.0

Upload: saswati-sengupta

Post on 04-Apr-2015

878 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Advantage Gen Client Server Development Tutorial

2002 ActiveDevelopment Group, Inc.

Advantage Gen Client/Server Development Tutorial

Tony R. Pierce ActiveDevelopment Group, Inc.

www.activedevgroup.com

Prepared by: Tony R. Pierce Submitted to: Advantage Gen Development Community EDGE 2002 Users Conference Date: March 2002 Document Name: Advantage Gen Client/Server Development Tutorial Release Number: 1.0

Page 2: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial Introduction 4

Required Materials....................................................................................................................... 4 Workstation Configuration 4 Case Study 5 Tutorial Organization 5

Database Creation ....................................................................................................................... 5 Design Tasks ............................................................................................................................... 5 Construction Tasks ...................................................................................................................... 5

Database Creation 5 Step 1. Technical Design Defaults 6 Step 2. Data Model Transformation 8 Step 3. Review Data Structure and Data Store Diagrams 8 Step 4. Generate the Tutorial Database 11

Design Tasks 14 Step 1. Define Exit States 14 Step 2. Define Commands 16 Step 3. Define Window Video Properties 18 Step 4. Define Work Attribute Sets 19 Step 5. Create Server Procedures 19 Step 6. Create Client Software 22

Step 6.1 Creation of the Window 22 Step 6.2 Addition of Non-data Elements to the Window 25 Step 6.3 Addition of Event Actions to the Procedure 34 Step 6.4 Creation of Information Views for the Procedure 36 Step 6.5 Place/Map Information Views on the Window 40 Step 6.6 Tie Window Controls to Event Actions 51 Step 6.7 Completion of the Action Diagram Statements 53 Step 6.8 Client-to-Client Dialog Flow 53

Construction Tasks 56 Step 1. Package Software 56 Step 2. Generate the Software 59

Appendix A – Exit States 64 Appendix B – Trace Facility 65 Appendix C – Client Procedure Source Code 68

NOBEL_MENU .......................................................................................................................... 68 PRIZE_CATEGORY_CLT ......................................................................................................... 69 PRIZE_CLT................................................................................................................................ 72 PRIZE_ASSIGNMENT_CLT...................................................................................................... 80 LAUREATES_CLT..................................................................................................................... 82 RESOURCE_LINKS_CLT ......................................................................................................... 86

Appendix D – Build Tool Configuration File (WIN32ITM.TGT) 90 Appendix E – Client Dialog Flows Report 97 Appendix F – Work Sets 100 Appendix G – Commands 101 Appendix H – Server Procedure Source Code 102

SNOB1011_PRIZE_CAT_CREATE ........................................................................................ 102 SNOB1021_PRIZE_CAT_READ_NAME ................................................................................ 102 SNOB1031_PRIZE_CAT_UPDATE ........................................................................................ 103 SNOB1041_PRIZE_CAT_DELETE......................................................................................... 104 SNOB1051_PRIZE_CAT_READ_ID ....................................................................................... 104 SNOB1061_PRIZE_CAT_LIST_NAME................................................................................... 105 SNOB1071_PRIZE_CREATE.................................................................................................. 106 SNOB1081_PRIZE_READ_BY_ID.......................................................................................... 106 SNOB1091_PRIZE_UPDATE.................................................................................................. 107

2002 ActiveDevelopment Group, Inc. 2

Page 3: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

SNOB1101_PRIZE_DELETE .................................................................................................. 108 SNOB1111_PRIZE_LIST......................................................................................................... 108 SNOB1121_LAUREATE_CREATE ......................................................................................... 109 SNOB1131_LAUREATE_READ_BY_ID ................................................................................. 110 SNOB1141_LAUREATE_UPDATE ......................................................................................... 110 SNOB1151_LAUREATE_DELETE.......................................................................................... 111 SNOB1161_LAUREATE_LIST_NAME.................................................................................... 112 SNOB1171_RES_LINK_CREATE........................................................................................... 112 SNOB1181_RES_LINK_READ ............................................................................................... 113 SNOB1191_RES_LINK_UPDATE........................................................................................... 114 SNOB1201_RES_LINK_DELETE ........................................................................................... 114 SNOB1211_RES_LINK_LIST.................................................................................................. 114 SNOB1221_AWARD_PRES_CREATE................................................................................... 116 SNOB1231_AWARD_PRES_READ_ID.................................................................................. 116 SNOB1241_AWARD_PRES_UPDATE................................................................................... 117 SNOB1251_AWARD_PRES_DELETE ................................................................................... 118 SNOB1261_LAUREATE_LNM_FNM_READ .......................................................................... 118 SNOB1271_AWD_PRS_READ_PRZ_LAUR.......................................................................... 119 SNOB1281_AWD_PRES_LIST_PRZ_YR............................................................................... 120

Appendix I – Client Procedure Views 121 NOBEL_MENU ........................................................................................................................ 121 PRIZE_CATEGORY_CLT ....................................................................................................... 121 PRIZE_CLT.............................................................................................................................. 122 PRIZE_ASSIGNMENT_CLT.................................................................................................... 125 LAUREATE_CLT ..................................................................................................................... 126 RESOURCE_LINKS_CLT ....................................................................................................... 128

Appendix J – GUI Window Graphics 129 NOBEL_MENU ........................................................................................................................ 129 PRIZE_CATEGORY_CLT ....................................................................................................... 130 PRIZE_CLT.............................................................................................................................. 131 PRIZE_ASSIGNMENT_CLT.................................................................................................... 133 LAUREATES_CLT................................................................................................................... 134 RESOURCE_LINKS_CLT ....................................................................................................... 135

2002 ActiveDevelopment Group, Inc. 3

Page 4: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Introduction This document details a step-by-step process for creating a simple client/server application using the Computer Associates Advantage Gen development software. This tutorial is based on version 6.0 of Advantage Gen. This document describes how to build client-side GUI procedures that offer the user interface, and server-side non-display procedures that respond to the clients. The servers communicate with the database through the services of an Advantage Gen component. The component services are included in the model provided with this tutorial. For a detailed step-by-step tutorial on building Advantage Gen components, refer to the other tutorial documents provided by ADG at http://www.activedevgroup.com/.

Required Materials The following table describes the materials required to complete the tutorial.

Item Item Type Description Models.zip Advantage Gen

Models zip file Contains “checkout.trn” files for all the models. Extract the models (with the “Use folder names” option of Winzip) into your models directory you use with Advantage Gen.

Adgtutor.zip Tutorials zip file Contains the Adobe Acrobat 5.0 tutorial files. Included in this archive is a document describing the purpose of each of the models used by the tutorials.

Images.zip Bitmaps and JPEGs zip file

Contains the bitmap images used for the Advantage Gen windows. Contains JPEG files you can use for web pages.

Execution.zip RI Trigger and operations library files

Copy the RI Trigger and operations library files to the “c” directory of each model you use with the tutorials. Also copy these files to the “c:\cool\gen\inqload” directory for cooperative server execution.

Workstation Configuration Software Description

Windows 2000 or Windows NT 4 SP6 Operating system software Computer Associates Advantage Gen 6.0 Software development environment Microsoft MSVC 6.0 C compiler for generated code Local Database supported by Advantage Gen for the NT/2000 environment. Pre-compiler for the database.

Refer to the COOL:Gen 6.0 Technical Requirements document for database options for the NT/2000 platforms.

Note: Some of the illustrations in this document are specific to the Oracle 8.1.7 database product.

2002 ActiveDevelopment Group, Inc. 4

Page 5: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Case Study This tutorial is based upon a simplified version of the following business scenario. The Nobel Foundation produces a website to provide information on the Foundation, the Nobel Prizes, and the Laureates to which Prizes are awarded. This tutorial describes the steps one might follow to produce a client/server application that allows the Foundation to maintain information presented on its website.

Tutorial Organization The sections included in the tutorial describe the design and construction tasks required to create and execute an Advantage Gen client/server application beginning with a model that already contains the data model objects, database structures definitions, and component services. These tasks can be categorized and sequenced as follows:

Database Creation These are the tasks required to generate and install a local database. If you have already installed the tutorial database at the direction of one of the other tutorials, you need not complete this step.

Design Tasks These are the tasks required to design the software. The tasks include creation of client and server procedures, and user interfaces (GUI windows). The tutorial includes pre-design tasks that should be performed in preparation for the software development.

Construction Tasks These are the tasks required to package, generate, install, and test the software using the Advantage Gen code generator, the Windows NT Implementation Toolkit (Build Tool), and the Advantage Gen code trace facility.

This tutorial provides detailed instructions for creating software to address the Laureate entity type. Users of this tutorial are encouraged to use these detailed instructions to assist in creating the software that addresses other entity types in the data model.

As is true of many technologies, Advantage Gen supports a variety of methodological and practical preferences and conventions analysts and developers might incorporate into their approaches. This tutorial presents a sequence of tasks that, in aggregate, illustrates “one of the ways” Advantage Gen can be used to develop client/server software. It does not purport to illustrate what is necessarily the best, or the only way. Remain COOL, find your own path.

Database Creation Use model ADG_NOBEL_PRIZE_DATABASE to generate a local database for use with the tutorial.

2002 ActiveDevelopment Group, Inc. 5

Page 6: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Step 1.

Step 1. Technical Design Defaults Using the tree view, expand the Technical Design objects. Right click on the database you want to use on your workstation, and select the Open option. Then specify details using the Properties and Data Base Defaults popup menu options. Refer to the following illustrations as a guide.

Specify properties details.

2002 ActiveDevelopment Group, Inc. 6

Page 7: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Specify database name.

2002 ActiveDevelopment Group, Inc. 7

Page 8: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Step 2.

Step 2. Data Model Transformation The transformation process creates information for two structures: the Data Structure and the Data Store. Select the Transformation option from the popup menu after right-clicking on your database in the tree view.

If your data model is consistent, the transformation should complete successfully. Advantage Gen will present the following dialog box.

Step 3

Step 3. Review Data Structure and Data Store Diagrams After successful transformation, review the Data Structure and Data Store diagrams.

2002 ActiveDevelopment Group, Inc. 8

Page 9: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

3.

Select the View Expand Diagram option from the menu to expand the Data Structure List.

The Data Structure List can be manipulated to move columns within tables, rename tables, indexes and RI constraints, create additional indexes, and other DBA functions. The Data Store List includes the organization of the database. View the contents of the Data Store List.

2002 ActiveDevelopment Group, Inc. 9

Page 10: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Review the expanded diagram to ensure that names for the objects are correct.

Note that some of the index names in the graphic above reflect changes made using the Data Structure Diagram.

2002 ActiveDevelopment Group, Inc. 10

Page 11: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Step 4.

Step 4. Generate the Tutorial Database Advantage Gen uses the information in the Data Store and Data Structure diagrams to generate the DDL for databases. From the Advantage Gen main window, select the Construction Generation menu option.

Select the Diagram Open DDL menu option from the menu.

Select the Options Generation Defaults menu option to specify generation characteristics for the database and operating system, as indicated in the diagram below. After setting the generation defaults, select the OK pushbutton on the dialog box.

2002 ActiveDevelopment Group, Inc. 11

Page 12: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Select the “DDL”, “Inst”, and “Drop” columns for the “NOBELDB” database (all tables and indexes should have the “Y” indicator for each column). If you do not have a database named “NOBELDB” on your machine, you do not have to select the “Drop” column, although selecting this option will not affect the installation if you do not have such a database. Select the Generate DDL, Selected option from the menu.

After the DDL is generated, Advantage Gen will invoke the Build Tool to begin the database installation When complete the Build Tool should report successful

2002 ActiveDevelopment Group, Inc. 12

Page 13: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

installation, as depicted in the following diagram.

If the Build Tool reports the installation to be unsuccessful, highlight the item in the Build Tool’s list and select the “Review” pushbutton to review the output file. Most DDL installation errors can be corrected by changes to the configuration file (win32itm.tgt) or to the environment variables.

2002 ActiveDevelopment Group, Inc. 13

Page 14: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Design Tasks Use model ADG_NOBEL_PRIZE_APPL_MODEL to complete the remainder of the tutorial. This tutorial includes the following design phase tasks:

• Pre-design definition of exit states, work attribute sets, and commands • Configuration of window video properties for the business system • Creation of servers for each component operation • Creation of client-side (GUI interface) software to facilitate use of the application

Step 1.

Step 1. Define Exit States Define exit states to be used within the tutorial application.

Highlight the Business System and select the Add pushbutton to add a new Exit State.

2002 ActiveDevelopment Group, Inc. 14

Page 15: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Use the table in Appendix A as a guide in defining the exit states required by the tutorial.

The clients and servers described by this tutorial are serviced by component operations, which communicate the results of processing via a “standard parameters” set specified by the standards. For this reason, most of the exit states required by this tutorial are used for user interface navigation (dialog flows). In non-component based systems, it is common to utilize a much larger set of exit states.

2002 ActiveDevelopment Group, Inc. 15

Page 16: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Step 2.

Step 2. Define Commands When a new Business System is created using the Advantage Gen toolset, a number of default Commands are created. Supplement these Commands by defining some additional values required by the tutorial software.

Select the Add pushbutton on the Command list dialog to create a new Command.

2002 ActiveDevelopment Group, Inc. 16

Page 17: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Use the table in Appendix G as a guide in creating the necessary commands.

2002 ActiveDevelopment Group, Inc. 17

Page 18: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Step 3.

Step 3. Define Window Video Properties Video properties for the GUI elements can be defined at a Business System level to ensure consistent appearance. For each of the GUI elements in the list, set the foreground, background, and font characteristics you prefer.

2002 ActiveDevelopment Group, Inc. 18

Page 19: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Step 4.

Step 4. Define Work Attribute Sets Work Attribute Sets contain elements to assist in development of the software. These elements (Work Attributes) are used on windows and in action diagrams, and represent data variables. By default, each model contains work attribute sets named IEF_SUPPLIED and ASYNC_REQUEST, which are created by Advantage Gen when a new model is created. To supplement this work attribute set, define new work attribute sets required by the tutorial.

Use the table in Appendix F as a guide for creating work sets for the tutorial.

Step

5. Step 5. Create Server Procedures In a component based system, the component’s operations can be “wrapped” in different ways to constitute units of work required by the business rules, and in ways that accommodate the user interface. For purposes of this tutorial, a unique server will wrap each of the component operations. Create a new business system to contain the server procedures.

2002 ActiveDevelopment Group, Inc. 19

Page 20: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Add servers to the new business system. Create a new server for each public operation, and add a USE statement for the appropriate public operation in each server. Evaluate the “rollback indicator” standard parameter to determine if the “rollback” exit state should be set. Use the following illustrations and the information in Appendix H, which includes the suggested source code solutions for the server software.

2002 ActiveDevelopment Group, Inc. 20

Page 21: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Detail the procedure’s procedure step properties to indicate that no display will be built for this server.

2002 ActiveDevelopment Group, Inc. 21

Page 22: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Step 6.

Step 6. Create Client Software The client-side software includes procedure steps that are fitted with GUI windows and dialog boxes that provide for two types of processing requests:

• Display of information in list box format • Creation of new information, and update of information by selection from the list

box Client procedures handle the processing for all the requests (list, create, delete, update) for each entity type through a primary list window and a secondary dialog box that is used for both create and update functions (one of the client procedures uses a primary window only). The detailed steps that follow illustrate how to create one client procedure for the LAUREATE entity type. Appendix C provides additional detail on the client procedures source code, and the windows and dialog boxes. The recommended sequence of activities to perform when creating a client procedure with a GUI user interface is (each of these activities will be presented in detail in this section):

1. Create the window using the Navigation Diagram 2. Add the non-data window elements (toolbar, toolbar buttons, menu items,

status bar) 3. Add event actions to the procedure using the Action Diagram tool (plan

what events will be required in advance) 4. Create information views for the procedure (using manual techniques and

the automated features of Advantage Gen 5. Place/map information views on the window 6. Tie window controls to the event actions 7. Complete the action diagram statements for the procedure.

Step 6.1 Creation of the Window From the primary Advantage Gen panel, select the Design Navigation Diagram menu option. This action opens the empty Navigation Diagram.

2002 ActiveDevelopment Group, Inc. 22

Page 23: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

If the following dialog is displayed, select the Cancel push button. This dialog allows you to create diagrams to work with different areas of your application. The tutorial does not specify creation of any navigation diagrams, but directs usage of the window design tool built into the navigation diagram tool.

2002 ActiveDevelopment Group, Inc. 23

Page 24: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Add a new client window.

2002 ActiveDevelopment Group, Inc. 24

Page 25: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

The following diagram shows the three panes that make up the Navigation Diagram. Double-click the Course List window in either the Network or Hierarchy pane to open the new window.

Step 6.2 Addition of Non-data Elements to the Window To the new window, add a toolbar, toolbar buttons, and status bar. Define the menu design for the window. With the new window displayed in the Navigation Diagram, select the Add Toolbar menu option. Specify properties for the toolbar, and select the OK pushbutton.

2002 ActiveDevelopment Group, Inc. 25

Page 26: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Highlight the new toolbar, and select the Add Push Button menu option. Provide details for the button (this button is the “New” button users select to create a new occurrence of LAUREATE). Use the Bitmaps pushbutton to import bitmap definitions into your model. Select the OK pushbutton.

Sometimes Advantage Gen will not refresh the toolbar as pushbuttons are added to it (this seems to happen most frequently when the first pushbutton is added). Adding menu design items for the window sometimes will cause the toolbar to be temporarily hidden from view. Whenever refresh-related problems occur, adjust the window slightly by moving its top edge upwards a tiny amount, and then back (and in situations when this does not remedy the problem, you can just close the window and then reopen it).

Continue to add pushbuttons for Open, Select, List, Delete, and Close using the same technique. Your window, when the toolbar buttons are added, should appear as in the following diagram.

2002 ActiveDevelopment Group, Inc. 26

Page 27: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Next, add a status bar to the window. Select the Add Status Bar menu option. Provide properties for the status bar and select the OK pushbutton.

Add the system error message (provided by Advantage Gen to display exit state messages where the message type is set to “None”) to the status bar. Highlight the status bar and select the Edit Field Design menu option. Highlight the “ERRMSG” system attribute, select <No Prompt> for the attribute, and then select the Place pushbutton. Highlight the field and change its background color to match the window color.

2002 ActiveDevelopment Group, Inc. 27

Page 28: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Set the background color of the system error message to match the window.

Define the window’s menu elements. Highlight the window and select the Edit Menu Design option from the Navigation Diagram menu. Highlight “Main Menu Bar” in the resulting dialog box, and select the Add pushbutton. Define a “Laureates” option, using the diagram below as a guide, and select the OK pushbutton.

2002 ActiveDevelopment Group, Inc. 28

Page 29: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Highlight the new “Laureates” menu item and select the Add pushbutton. Define a “New…” menu item as illustrated in the following diagram, and select the OK pushbutton.

Use the following matrix to complete the menu design for the window.

Menu Item Parent Item Mnemonic, Preceded by Laureate Main Menu Bar L N/A New… Laureate N, Ctrl+N N/A Open… Laureate O, Ctrl+O No Select… Laureate S, Ctrl+S No List Laureate L, Ctrl+L No

2002 ActiveDevelopment Group, Inc. 29

Page 30: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

List Laureate L, Ctrl+L No Delete Laureate D Yes Close Laureate C, Alt+F4 Yes Edit Main Menu Bar E N/A Prizes… Edit P No Resource Links… Edit R No

Your completed menu design should appear as in the following diagrams. In a subsequent step in this tutorial, we will re-visit these items and tie them, as appropriate, to event actions.

2002 ActiveDevelopment Group, Inc. 30

Page 31: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Add a secondary dialog box to this window to use for updating and creating Laureate occurrences. Using the Navigation Diagram, select the Diagram Open Window menu option.

Highlight the LAUREATE_CLT procedure step, and select the Add pushbutton. This action will open a properties dialog for specifying details for the new secondary dialog box.

2002 ActiveDevelopment Group, Inc. 31

Page 32: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Highlight the new dialog box and select the Select pushbutton.

2002 ActiveDevelopment Group, Inc. 32

Page 33: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Add OK and Cancel pushbuttons to the new dialog box.

When both buttons are placed on the dialog box, highlight one of them, and press the Ctrl key while highlighting the other button. With both buttons thus selected, select the Edit Position menu option. This provides a way to align, separate, and center the buttons on the dialog box.

2002 ActiveDevelopment Group, Inc. 33

Page 34: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

In a subsequent step in this tutorial, directions will be provided for assigning an event to the OK pushbutton.

Step 6.3 Addition of Event Actions to the Procedure The Laureate window and its controls activate event actions in the procedure step. In this section, define the events using the Action Diagram tool. In a following section of the tutorial, the action statements will be added to each of the event actions.

2002 ActiveDevelopment Group, Inc. 34

Page 35: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Open the LAUREATE_CLT action diagram. Highlight the first line in the action diagram and select the Edit Add Event Action menu option. Refer to the diagram below for an illustration of how to specify the event action. This event is the one that will be activated when the Laureate window opens.

Continue to add event actions based on information in the following matrix:

Event Action Name Description

LAUREATES_CLT_OPEN This event is activated when the window opens.

LAUREATES_CLT_MN_NEW_CLICK This event is activated when the user selects the New menu option or selects

LAUREATES_CLT_MN_OPEN_CLICK This event is activated when the user selects the Open menu option or selects

LAUREATES_CLT_MN_LIST_CLICK This event is activated when the user selects the List menu option or selects

LAUREATES_CLT_MN_DELETE_CLICK This event is activated when the user selects the Delete menu option or selects

LAUREATES_CLT_MN_PRIZES_CLICK This event is activated when the user selects the Prizes menu option.

LAUREATES_C_MN_RESOURCE_LI_CLICK

This event is activated when the user selects the Resource Links menu option.

LAUREATE_DETAIL_OPEN This event is activated when the detail dialog box opens.

LAUREATE_DETAIL_PB_OK_CLICK This event is activated when the user selects the Ok push button on the detail

LAUREATES_C_PB_SELECT_CATE_CLICK

This event is activated when the user selects a pushbutton to select from a list

2002 ActiveDevelopment Group, Inc. 35

Page 36: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

LICK selects a pushbutton to select from a list of Prize Categories.

LAUREATES_EF_DISCIPLINE_CHANGED

This event is activated when the user changes the value of the Prize Category used for filtering the list of Laureates.

LAUREATES_CLT_MN_SELECT_CLICK

This event is activated when the user highlights a Laureate in the list and selects the Select menu option or toolbar button.

LAUREATE_DETAIL_EF_IMAGE_CHANGED

This event is activated when the user changes the name of the Image associated with a Laureate entry on the detail dialog box.

LAUREATES_CLT_LB_OUT_GROUP_CLICK

This event is activated when the user clicks (highlights) a Laureate in the list box.

When you have completed defining the event actions, your LAUREATE_CLT action diagram will should resemble the diagram below.

Step 6.4 Creation of Information Views for the Procedure Open the View Maintenance dialog for the LAUREATE_CLT procedure.

2002 ActiveDevelopment Group, Inc. 36

Page 37: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Begin by adding Import views. Highlight the Import Views header in the diagram.

This example illustrates adding an import view of Laureate named “IN_SELECTED”, which contains all the attributes of Laureate.

2002 ActiveDevelopment Group, Inc. 37

Page 38: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Continue to define additional views for the LAUREATE_CLT procedure step, using the following graphics as a guide. Use the View Maintenance diagram to add these views. Make sure the group views are setup for “explicit” handling of the subscripts. While server-side elements often use either implicit or explicit indexing, at the discretion of the developer, client-side software should use explicit indexing so that more complex handling of the group’s contents can be accomplished.

2002 ActiveDevelopment Group, Inc. 38

Page 39: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

2002 ActiveDevelopment Group, Inc. 39

Page 40: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Refer to Appendix I for assistance in defining views for all the client procedures.

Step 6.5 Place/Map Information Views on the Window Placing views on the window, and mapping imports to exports, is accomplished using the Navigation Diagram. Open the primary window for the LAUREATE_CLT procedure step in the Navigation Diagram. This window will contain a listbox used to present occurrences in the group view. After placing the listbox on the window, we must map the export views to their corresponding import views. This is so the Advantage Gen window manager software can send information from the window back to the procedure step’s import views. Select the Add List Box menu option from the Window Design menu in the Navigation Diagram. Highlight the “Select Char” attribute and select the “Prop” push button Set this attribute as the selection indicator for the list box This action allows

2002 ActiveDevelopment Group, Inc. 40

Page 41: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Advantage Gen’s window manager to recognize which element in the list is clicked or highlighted.

Position the attributes so as to reflect the order in which they will be displayed in the list box.

Highlight each attribute you want to display in the list box, and select the “Include” push button.

2002 ActiveDevelopment Group, Inc. 41

Page 42: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Place the listbox on the window and size it appropriately. You can set font color and size as desired. To reduce “white space” between attributes in the listbox, move the mouse cursor along the white space until the cursor changes to the “sizing” cursor. Then hold down the left mouse button and drag to resize the field.

Add a group box to contain the filtering criteria for the list.

2002 ActiveDevelopment Group, Inc. 42

Page 43: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Place the group box on the window.

Add fields and controls inside the group box to allow the user to specify filtering criteria for the list.

2002 ActiveDevelopment Group, Inc. 43

Page 44: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

2002 ActiveDevelopment Group, Inc. 44

Page 45: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Add a pushbutton after the Prize Category filter field so users can select a Discipline from a list.

2002 ActiveDevelopment Group, Inc. 45

Page 46: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Add a filter field for the Prize Year.

2002 ActiveDevelopment Group, Inc. 46

Page 47: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

The design of the LAUREATE_CLT primary window at this point should appear as indicated in the following graphic.

2002 ActiveDevelopment Group, Inc. 47

Page 48: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Open the Laureate Detail dialog box for the LAUREATE_CLT procedure step. This dialog box will be used to create new occurrences of Laureate, and to update existing occurrences. Select the Edit Field Design menu option.

You can add a group box to the dialog box to contain the Laureate information, if desired. In the list of views that are presented, the OUT_SELECTED view of the Laureate attributes will be placed on the dialog box. Highlight the FIRST_NAME attribute in the list of attributes for the view called OUT_SELECTED of the entity type LAUREATE. Select the Prop… pushbutton.

2002 ActiveDevelopment Group, Inc. 48

Page 49: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Place the FIRST_NAME attribute, along with its prompt, on the dialog box by selecting the Place pushbutton on the Field Design dialog box. Use the same technique for placing the remaining attributes of OUT_SELECTED LAUREATE on the dialog box. You can also place the “default.bmp” bitmap image on the dialog box, where it will display an image of the Laureate at runtime. The diagram below shows how the completed dialog box might look.

2002 ActiveDevelopment Group, Inc. 49

Page 50: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

To make sure that exports are mapped to imports, select the Detail Mapping menu option. Highlight each export view along with its corresponding import view, and if the Map pushbutton is enabled, select this pushbutton to complete the mapping. Be sure to check each export/import pair of corresponding views.

2002 ActiveDevelopment Group, Inc. 50

Page 51: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Step 6.6 Tie Window Controls to Event Actions Use the following mechanism to tie window controls to the events that were added to the client procedure step. Open the LAUREATE_CLT primary window in the Navigation Diagram. Highlight the window by clicking on its title bar. Select the Detail Events menu option. Tie the open event type for the window to the event action created previously in the procedure step.

Other controls on the window should be tied to events, also. The following is an example of how to tie menu items to events. Select the Edit Menu Design option from the menu. Highlight the “New…” menu item from the list of items previously defined. Select the “Prop…” pushbutton to view details of this menu item. A pushbutton is provided to specify the Events for this control.

2002 ActiveDevelopment Group, Inc. 51

Page 52: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Select the “Events” pushbutton on the properties dialog. Select the Click event and assign the appropriate event, as illustrated below. Use the following matrix to assist in tying other controls on the primary window and the dialog box to the appropriate events for the LAUREATE_CLT processing.

Window Control Event EventNobel Laureates Window Open LAUREATES_CLT_OPEN Nobel Laureates New option Click LAUREATES_CLT_MN_NEW_CLICK Nobel Laureates Open Click LAUREATES_CLT_MN_OPEN_CLICK Nobel Laureates List option Click LAUREATES_CLT_MN_LIST_CLICK Nobel Laureates Delete Click LAUREATES_CLT_MN_DELETE_CLICK Nobel Laureates Prizes Click LAUREATES_CLT_MN_PRIZES_CLICK Nobel Laureates Resource Click LAUREATES_C_MN_RESOURCE_LI_CLICK Laureate Detail Dialog Box Open LAUREATE_DETAIL_OPEN Laureate Detail Ok push Click LAUREATE_DETAIL_PB_OK_CLICK Nobel Laureates Category Click LAUREATES_C_PB_SELECT_CATE_CLICK Nobel Laureates Discipline Changed LAUREATES_EF_DISCIPLINE_CHANGED Nobel Laureates Select Click LAUREATES CLT MN SELECT CLICK

2002 ActiveDevelopment Group, Inc. 52

Page 53: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

option

Laureate Detail Image entry field Changed LAUREATE_DETAIL_EF_IMAGE_CHANGED

Nobel Laureates List box Click LAUREATES_CLT_LB_OUT_GROUP_CLICK

Step 6.7 Completion of the Action Diagram Statements Refer to the reports and information in Appendix C and Appendix H to assist in completing the action diagram statements for the client and server action diagrams. Use the Action Diagram option under the Design menu to open/create action diagrams. Advantage Gen tool navigation has proven to be somewhat difficult for beginners. Practice with the toolset will help you to overcome difficulties in this area. Constructing action diagram statements is also difficult for novices. But as is true for general navigation, constructing action diagrams becomes much simpler with practice. This tutorial does not provide assistance with some of Advantage Gen’s productivity aids (copy with substitution, xcopy, copy/move statements). Use the Help menu option and peruse the Electronic Books if you have them available. If you refer to the solution set provided in the appendices, and apply the “seek and ye shall find” technique when constructing action diagram statements, you can be successful in finishing the tutorial software.

Step 6.8 Client-to-Client Dialog Flow Navigation between client procedure steps in Advantage Gen is determined by information detailed in the Dialog Design diagram (the Navigation Diagram also provides a mechanism for specifying this same information). In specifying the dialog flows, each must be detailed with a flows-on exit state, returns-on exit state, data passed and returned, and other details. This section illustrates how to create a dialog flow that will provide the means of navigation from an application menu to the LAUREATE_CLT client procedure. Details for the other dialog flows in the complete solution for the tutorial are provided in Appendix E. From the Advantage Gen main window, select the Design Dialog Design menu option (make sure you have the correct business system open). Complete the following steps to create a dialog flow from the Menu to the LAUREATE_CLT client procedure. Highlight the Menu procedure. While pressing the Ctrl key, highlight the LAUREATE_CLT procedure. Select the Edit Join menu option. This action invokes a dialog for specifying dialog flow details.

2002 ActiveDevelopment Group, Inc. 53

Page 54: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Use the following diagram to specify details for the dialog flow.

2002 ActiveDevelopment Group, Inc. 54

Page 55: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

The dialog design diagram will now indicate a dialog flow exists from the Menu to the LAUREATE_CLT.

2002 ActiveDevelopment Group, Inc. 55

Page 56: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Construction Tasks This tutorial includes the following construction phase tasks:

• Packaging the procedure steps into load modules • Generating the software • Building and testing the software using the Build Tool and Trace Facility

Step 1.

Step 1. Package Software Advantage Gen provides a variety of packaging options in support of the different processing styles. For purposes of the tutorial, the software will be packaged using “Window” packaging. This designation will allow Advantage Gen to generate software for execution of GUI-interface software targeting a single runtime environment (where normally client/server software will be packaged using “Cooperative” packaging so as to support execution on multiple platforms). From the main Advantage Gen window, select the Construction Packaging menu option.

Select the Diagram Open Window Packaging menu option.

2002 ActiveDevelopment Group, Inc. 56

Page 57: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Highlight the ADG_NOB_NOBEL_PRIZE business system and select the Edit Add Load Module menu option. Provide a name for the new load module, and select the push button to add procedure steps to the packaging.

Whenever load modules are created or whenever procedure steps are added to load modules, use the “Complete” option in the packaging menu to ensure that member names and transaction codes are properly assigned by Advantage Gen.

2002 ActiveDevelopment Group, Inc. 57

Page 58: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Package the server procedures by clicking on the NOBEL_PRIZE_SERVERS business system and adding a load module and procedures steps.

2002 ActiveDevelopment Group, Inc. 58

Page 59: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Step 2.

Step 2. Generate the Software The example illustrated in this section includes generation of all the window-packaged software elements in the tutorial model. From the Advantage Gen main window, select the Construction Generation menu option.

2002 ActiveDevelopment Group, Inc. 59

Page 60: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Select the Diagram Open Window Code menu option to retrieve the window packaging.

Confirm that the generation options are set for your database and operating system.

2002 ActiveDevelopment Group, Inc. 60

Page 61: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Highlight the business systems containing the window-packaged elements, and select the View Expand All menu option. Then select the elements for generation, as indicated in the following diagram.

2002 ActiveDevelopment Group, Inc. 61

Page 62: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Select the Generate Code, Selected menu option. This action invokes the code generator. When the selected elements are generated, Advantage Gen invokes the Build Tool to perform the pre-compile, compile, link, and registration steps required to install the software.

2002 ActiveDevelopment Group, Inc. 62

Page 63: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

2002 ActiveDevelopment Group, Inc. 63

Page 64: Advantage Gen Client Server Development Tutorial

2002 ActiveDevelopment Group, Inc.

Appendix A – Exit States Business System Exit State Name Termination Message

Type Message Text

Global INVALID_COMMAND Normal Error Invalid command.Global INVALID_MENU_OPTION Normal Error Invalid menu option. Global RETURN Normal None None Global ROLLBACK Rollback None NoneADG_NOB_NOBEL_PRIZE LINK_PRZ_CAT_FOR_FILTER_VALUE Normal None NoneADG_NOB_NOBEL_PRIZE LINK_PRZ_CAT_FOR_INPUT_VALUE Normal None NoneADG_NOB_NOBEL_PRIZE LINK_TO_LAUREATES_CLT Normal None NoneADG_NOB_NOBEL_PRIZE LINK_TO_LAUREATE_FOR_SELECTION Normal None NoneADG_NOB_NOBEL_PRIZE LINK_TO_PRIZE_ASSIGNMENT_CLT Normal None NoneADG_NOB_NOBEL_PRIZE LINK_TO_PRIZE_CATEGORY_CLT Normal None NoneADG_NOB_NOBEL_PRIZE LINK_TO_PRIZE_CLT Normal None NoneADG_NOB_NOBEL_PRIZE LINK_TO_RESOURCE_LINKS_CLT Normal None NoneNOBEL_PRIZE_BLOCK_MODE LINK_TO_LAUREATE_DETAIL Normal None NoneNOBEL_PRIZE_BLOCK_MODE LINK_TO_LAUREATE_MAINT Normal None NoneNOBEL_PRIZE_BLOCK_MODE LINK_TO_LAUREATE_SELECTION Normal None NoneNOBEL_PRIZE_BLOCK_MODE LINK_TO_PRIZE_ASSIGNMENT_DETAIL Normal None NoneNOBEL_PRIZE_BLOCK_MODE LINK_TO_PRIZE_ASSIGNMENT_LIST Normal None NoneNOBEL_PRIZE_BLOCK_MODE LINK_TO_PRIZE_CAT_DETAIL Normal None NoneNOBEL_PRIZE_BLOCK_MODE LINK_TO_PRIZE_CAT_MAINT Normal None NoneNOBEL_PRIZE_BLOCK_MODE LINK_TO_PRIZE_DETAIL Normal None NoneNOBEL_PRIZE_BLOCK_MODE LINK_TO_PRIZE_MAINT Normal None NoneNOBEL_PRIZE_BLOCK_MODE LINK_TO_RESOURCE_LINK_DETAIL Normal None NoneNOBEL_PRIZE_BLOCK_MODE LINK_TO_RESOURCE_LINK_MAINT Normal None None

Page 65: Advantage Gen Client Server Development Tutorial

2002 ActiveDevelopment Group, Inc.

Appendix B – Trace Facility After your load modules are constructed, you can use the Build Tool to execute and trace the statements in your action diagrams. Begin by highlighting the load module for your Menu client in the Build Tool and select the Test push button.

Some databases require a “connection” string, which can be entered into the “Clear Screen Inputs” text field.

Page 66: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

If your database prompts you for a user id and password, provide this information in the logon fields.

Select the “Prize Categories” menu option to flow to the PRIZE_CATEGORY_CLT client procedure. The Trace Facility window activates when the procedure step code begins to execute. You can use the navigational tools on the menu and toolbar to bypass trace mode, perform statement-by-statement trace, skip to specific statements, bypass tracing until a specific statement, or bypass tracing and stop at the “top” and “bottom” of operations and procedure steps. The top pane displays view and system information. You can change the value for a view element by double-clicking the element and typing a new value. The bottom pane displays the action diagram statements. The highlight bar indicates the statement that will be executed next.

2002 ActiveDevelopment Group, Inc. 66

Page 67: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

2002 ActiveDevelopment Group, Inc. 67

Page 68: Advantage Gen Client Server Development Tutorial

2002 ActiveDevelopment Group, Inc.

Appendix C – Client Procedure Source Code

NOBEL_MENU ___________________________________________________________________________ +- NOBEL_MENU | IMPORTS: | EXPORTS: | LOCALS: | ENTITY ACTIONS: | +-- +- EVENT ACTION nobel_menu_mn_prize_categ_click | EXIT STATE IS link_to_prize_category_clt +-- +- EVENT ACTION nobel_menu_mn_prize_click | EXIT STATE IS link_to_prize_clt +-- +- EVENT ACTION nobel_menu_mn_laureate_click | EXIT STATE IS link_to_laureates_clt +--

Page 69: Advantage Gen Client Server Development Tutorial

2002 ActiveDevelopment Group, Inc.

PRIZE_CATEGORY_CLT ___________________________________________________________________________ +- PRIZE_CATEGORY_CLT | IMPORTS: | Work View in_selection_available ief_supplied (optional,transient,import only) | flag (optional) | Spec View in_selected inob1_prize_category (optional,transient,import only) | discipline (optional) | id (optional) | Group View in_group (optional,10,explicit,import only) | Work View in_grp ief_supplied (optional,transient) | select_char (optional) | Spec View in_grp inob1_prize_category (optional,transient) | discipline (optional) | id (optional) | EXPORTS: | Work View out_selection_available ief_supplied (transient,export only) | flag | Spec View out inob1_standard_parms (transient,export only) | context_string | reason_code | return_code | origin_server_id | data_store_status_indicator | severity_code | action | rollback_indicator | Spec View out_selected inob1_prize_category (transient,export only) | discipline | id | Group View out_group (10,explicit,export only) | Work View out_grp ief_supplied (transient) | select_char | Spec View out_grp inob1_prize_category (transient) | discipline | id | LOCALS: | ENTITY ACTIONS: | | MOVE in_selected inob1_prize_category TO out_selected inob1_prize_category | MOVE in_selection_available ief_supplied TO out_selection_available ief_supplied | += FOR SUBSCRIPT OF in_group FROM 1 TO LAST OF in_group BY 1 | | SET SUBSCRIPT OF out_group TO SUBSCRIPT OF in_group | | MOVE in_grp ief_supplied TO out_grp ief_supplied | | MOVE in_grp inob1_prize_category TO out_grp inob1_prize_category | +-- +-- +- EVENT ACTION prize_category_clt_mn_open_click | GET ROW HIGHLIGHTED IN out_group STARTING AT 1 GIVING SUBSCRIPT OF out_group | +- IF SUBSCRIPT OF out_group IS NOT EQUAL TO 0 | | COMMAND IS update | | MOVE out_grp inob1_prize_category TO out_selected inob1_prize_category | | OPEN Dialog Box PRIZE_CATEGORY_DETAIL | +-- +-- +- EVENT ACTION prize_category_clt_mn_list_click | USE snob1061_prize_cat_list_name (procedure step) | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | Group View out_group FROM Group View out_group +-- +- EVENT ACTION prize_category_c_mn_delete_click | GET ROW HIGHLIGHTED IN out_group STARTING AT 1 GIVING SUBSCRIPT OF out_group

Page 70: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial | +- IF SUBSCRIPT OF out_group IS NOT EQUAL TO 0 | | +- IF MessageBoxBeep("Are you sure you want to delete this Prize Category?", "Delete Confirmation", "YesNo", 2, "Question", "Application", 0) | | | IS EQUAL TO "Yes" | | | USE snob1041_prize_cat_delete (procedure step) | | | WHICH IMPORTS: Spec View out_grp inob1_prize_category TO Spec View in inob1_prize_category | | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | | | | | +- IF out inob1_standard_parms return_code IS EQUAL TO 1 | | | | USE snob1061_prize_cat_list_name (procedure step) | | | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | | | Group View out_group FROM Group View out_group | | | +-- | | +-- | +-- +-- +- EVENT ACTION prize_category_c_mn_prizes_click | GET ROW HIGHLIGHTED IN out_group STARTING AT 1 GIVING SUBSCRIPT OF out_group | +- IF SUBSCRIPT OF out_group IS NOT EQUAL TO 0 | | MOVE out_grp inob1_prize_category TO out_selected inob1_prize_category | +- ELSE | | SET out_selected inob1_prize_category discipline TO SPACES | | SET out_selected inob1_prize_category id TO 0 | +-- | EXIT STATE IS link_to_prize_clt +-- +- EVENT ACTION prize_categor_mn_laureates_click | GET ROW HIGHLIGHTED IN out_group STARTING AT 1 GIVING SUBSCRIPT OF out_group | +- IF SUBSCRIPT OF out_group IS NOT EQUAL TO 0 | | MOVE out_grp inob1_prize_category TO out_selected inob1_prize_category | +- ELSE | | SET out_selected inob1_prize_category discipline TO SPACES | | SET out_selected inob1_prize_category id TO 0 | +-- | EXIT STATE IS link_to_laureates_clt +-- +- EVENT ACTION prize_category_clt_mn_new_click | SET out_selected inob1_prize_category discipline TO SPACES | SET out_selected inob1_prize_category id TO 0 | COMMAND IS create | OPEN Dialog Box PRIZE_CATEGORY_DETAIL +-- +- EVENT ACTION prize_category_clt_open | DISABLE COMMAND protect | +- IF in_selection_available ief_supplied flag IS NOT EQUAL TO "Y" | | DISABLE COMMAND select | +-- | USE snob1061_prize_cat_list_name (procedure step) | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | Group View out_group FROM Group View out_group +-- +- EVENT ACTION prize_category_detai_pb_ok_click | +- CASE OF in_selected inob1_prize_category id | +- CASE 0 | | USE snob1011_prize_cat_create (procedure step) | | WHICH IMPORTS: Spec View in_selected inob1_prize_category TO Spec View in inob1_prize_category | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Spec View out_selected inob1_prize_category FROM Spec View out inob1_prize_category | +- OTHERWISE | | USE snob1031_prize_cat_update (procedure step) | | WHICH IMPORTS: Spec View in_selected inob1_prize_category TO Spec View in inob1_prize_category | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | +-- | +- IF out inob1_standard_parms return_code IS EQUAL TO 1 | | CLOSE Dialog Box PRIZE_CATEGORY_DETAIL | | USE snob1061_prize_cat_list_name (procedure step) | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Group View out_group FROM Group View out_group | +--

2002 ActiveDevelopment Group, Inc. 70

Page 71: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial +-- +- EVENT ACTION prize_category_detail_open | +- IF COMMAND IS EQUAL TO update | | USE snob1051_prize_cat_read_id (procedure step) | | WHICH IMPORTS: Spec View in_selected inob1_prize_category TO Spec View in inob1_prize_category | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Spec View out_selected inob1_prize_category FROM Spec View out inob1_prize_category | +-- +-- +- EVENT ACTION prize_category_c_mn_select_click | GET ROW HIGHLIGHTED IN out_group STARTING AT 1 GIVING SUBSCRIPT OF out_group | +- IF SUBSCRIPT OF out_group IS NOT EQUAL TO 0 | | MOVE out_grp inob1_prize_category TO out_selected inob1_prize_category | | EXIT STATE IS return | +-- +--

2002 ActiveDevelopment Group, Inc. 71

Page 72: Advantage Gen Client Server Development Tutorial

2002 ActiveDevelopment Group, Inc.

PRIZE_CLT ___________________________________________________________________________ +- PRIZE_CLT | IMPORTS: | Spec View in_display_awd_pres_descript inob1_award_presentation (optional,transient,import only) | description (optional) | Spec View in_selected inob1_laureate (optional,transient,import only) | id (optional) | middle_name (optional) | last_name (optional) | first_name (optional) | image (optional) | Group View in_award_group (optional,50,explicit,import only) | Work View in_award_grp ief_supplied (optional,transient) | select_char (optional) | Spec View in_award_grp inob1_prize (optional,transient) | year (optional) | id (optional) | Spec View in_award_grp inob1_prize_category (optional,transient) | discipline (optional) | id (optional) | Spec View in_award_grp inob1_laureate (optional,transient) | middle_name (optional) | last_name (optional) | first_name (optional) | id (optional) | Spec View in_award_grp inob1_award_presentation (optional,transient) | date (optional) | id (optional) | Spec View in_filter inob1_laureate (optional,transient,import only) | middle_name (optional) | last_name (optional) | first_name (optional) | id (optional) | Spec View in_display_description inob1_prize (optional,transient,import only) | description (optional) | Spec View in_selected inob1_prize_category (optional,transient,import only) | id (optional) | discipline (optional) | Group View in_group (optional,50,explicit,import only) | Work View in_grp ief_supplied (optional,transient) | select_char (optional) | Spec View in_grp inob1_prize (optional,transient) | year (optional) | id (optional) | Spec View in_grp inob1_prize_category (optional,transient) | discipline (optional) | id (optional) | Spec View in_selected inob1_prize (optional,transient,import only) | description (optional) | year (optional) | id (optional) | Spec View in_filter inob1_prize_category (optional,transient,import only) | id (optional) | discipline (optional) | EXPORTS: | Spec View out_display_awd_pres_descript inob1_award_presentation (transient,export only) | description | Spec View out_selected inob1_laureate (transient,export only) | id | middle_name | last_name | first_name

Page 73: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial | image | Group View out_award_group (50,explicit,export only) | Work View out_award_grp ief_supplied (transient) | select_char | Spec View out_award_grp inob1_prize (transient) | year | id | Spec View out_award_grp inob1_prize_category (transient) | discipline | id | Spec View out_award_grp inob1_laureate (transient) | middle_name | last_name | first_name | id | Spec View out_award_grp inob1_award_presentation (transient) | date | id | Work View out_select_laureate ief_supplied (transient,export only) | flag | Spec View out_filter inob1_laureate (transient,export only) | middle_name | last_name | first_name | id | Work View out_select_category ief_supplied (transient,export only) | flag | Spec View out_display_description inob1_prize (transient,export only) | description | Spec View out_filter inob1_prize_category (transient,export only) | id | discipline | Spec View out_selected inob1_prize_category (transient,export only) | id | discipline | Spec View out_selected inob1_prize (transient,export only) | description | year | id | Spec View out inob1_standard_parms (transient,export only) | context_string | reason_code | return_code | origin_server_id | data_store_status_indicator | severity_code | action | rollback_indicator | Group View out_group (50,explicit,export only) | Work View out_grp ief_supplied (transient) | select_char | Spec View out_grp inob1_prize (transient) | year | id | Spec View out_grp inob1_prize_category (transient) | discipline | id | LOCALS: | Spec View local inob1_laureate | id | middle_name | last_name | first_name | ENTITY ACTIONS: | | MOVE in_filter inob1_prize_category TO out_filter inob1_prize_category | MOVE in_filter inob1_laureate TO out_filter inob1_laureate | MOVE in_selected inob1_prize TO out_selected inob1_prize | MOVE in_selected inob1_prize_category TO out_selected inob1_prize_category

2002 ActiveDevelopment Group, Inc. 73

Page 74: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial | MOVE in_selected inob1_laureate TO out_selected inob1_laureate | MOVE in_display_description inob1_prize TO out_display_description inob1_prize | MOVE in_display_awd_pres_descript inob1_award_presentation TO out_display_awd_pres_descript inob1_award_presentation | += FOR SUBSCRIPT OF in_group FROM 1 TO LAST OF in_group BY 1 | | SET SUBSCRIPT OF out_group TO SUBSCRIPT OF in_group | | MOVE in_grp ief_supplied TO out_grp ief_supplied | | MOVE in_grp inob1_prize TO out_grp inob1_prize | | MOVE in_grp inob1_prize_category TO out_grp inob1_prize_category | +-- | += FOR SUBSCRIPT OF in_award_group FROM 1 TO LAST OF in_award_group BY 1 | | SET SUBSCRIPT OF out_award_group TO SUBSCRIPT OF in_award_group | | MOVE in_award_grp ief_supplied TO out_award_grp ief_supplied | | MOVE in_award_grp inob1_award_presentation TO out_award_grp inob1_award_presentation | | MOVE in_award_grp inob1_laureate TO out_award_grp inob1_laureate | | MOVE in_award_grp inob1_prize TO out_award_grp inob1_prize | | MOVE in_award_grp inob1_prize_category TO out_award_grp inob1_prize_category | +-- | +- IF COMMAND IS EQUAL TO return | | NOTE Return from selection of Prize Category or Laureate. | | SET out_display_description inob1_prize description TO SPACES | | SET out_display_awd_pres_descript inob1_award_presentation description TO SPACES | | SET LAST OF out_award_group TO 0 | | SET PRIZE_CLT.pic_laureate.Visible TO "False" | | USE snob1111_prize_list (procedure step) | | WHICH IMPORTS: Spec View in_filter inob1_prize_category TO Spec View in inob1_prize_category | | Spec View in_filter inob1_laureate TO Spec View in inob1_laureate | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Group View out_group FROM Group View out_group | +-- | +- IF COMMAND IS EQUAL TO rtnassgn | | NOTE Return from award assignment. | | += FOR SUBSCRIPT OF out_group FROM 1 TO LAST OF out_group BY 1 | | | +- IF out_grp inob1_prize id IS EQUAL TO in_selected inob1_prize id | | | | HIGHLIGHT out_group AT SUBSCRIPT OF out_group | | | | USE snob1081_prize_read_by_id (procedure step) | | | | WHICH IMPORTS: Spec View out_grp inob1_prize TO Spec View in inob1_prize | | | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | | | Spec View out_display_description inob1_prize FROM Spec View out inob1_prize | | | | <none> FROM Spec View out inob1_prize_category | | | | USE snob1281_awd_pres_list_prz_yr (procedure step) | | | | WHICH IMPORTS: Spec View in_filter inob1_laureate TO Spec View in_filter inob1_laureate | | | | Spec View out_grp inob1_prize TO Spec View in_filter inob1_prize | | | | Spec View out_grp inob1_prize_category TO Spec View in_filter inob1_prize_category | | | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | | | Group View out_award_group FROM Group View out_group | | <------ESCAPE | | | +-- | | +-- | +-- +-- +- EVENT ACTION prize_clt_open | DISABLE COMMAND protect | SET out_display_description inob1_prize description TO SPACES | SET out_display_awd_pres_descript inob1_award_presentation description TO SPACES | SET PRIZE_CLT.pic_laureate.Visible TO "False" | USE snob1111_prize_list (procedure step) | WHICH IMPORTS: Spec View in_filter inob1_prize_category TO Spec View in inob1_prize_category | Spec View in_filter inob1_laureate TO Spec View in inob1_laureate | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | Group View out_group FROM Group View out_group +-- +- EVENT ACTION prize_clt_mn_new_click | SET out_selected inob1_prize description TO SPACES | SET out_selected inob1_prize id TO 0 | SET out_selected inob1_prize year TO 0 | SET out_selected inob1_prize_category discipline TO SPACES | SET out_selected inob1_prize_category id TO 0 |

2002 ActiveDevelopment Group, Inc. 74

Page 75: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial | COMMAND IS create | OPEN Dialog Box NOBEL_PRIZE_DETAIL +-- +- EVENT ACTION prize_clt_mn_open_click | GET ROW HIGHLIGHTED IN out_group STARTING AT 1 GIVING SUBSCRIPT OF out_group | +- IF SUBSCRIPT OF out_group IS NOT EQUAL TO 0 | | COMMAND IS update | | MOVE out_grp inob1_prize TO out_selected inob1_prize | | MOVE out_grp inob1_prize_category TO out_selected inob1_prize_category | | OPEN Dialog Box NOBEL_PRIZE_DETAIL | +-- +-- +- EVENT ACTION prize_clt_mn_list_click | +- IF in_filter inob1_laureate id IS NOT EQUAL TO 0 | | SET out_display_description inob1_prize description TO SPACES | | SET out_display_awd_pres_descript inob1_award_presentation description TO SPACES | | SET LAST OF out_award_group TO 0 | | SET PRIZE_CLT.pic_laureate.Visible TO "False" | | USE snob1111_prize_list (procedure step) | | WHICH IMPORTS: Spec View in_filter inob1_prize_category TO Spec View in inob1_prize_category | | Spec View in_filter inob1_laureate TO Spec View in inob1_laureate | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Group View out_group FROM Group View out_group | +- ELSE | | +- IF in_filter inob1_laureate last_name IS NOT EQUAL TO SPACES | | | USE snob1261_laureate_lnm_fnm_read (procedure step) | | | WHICH IMPORTS: Spec View in_filter inob1_laureate TO Spec View in_qualifier inob1_laureate | | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | | Spec View local inob1_laureate FROM Spec View out inob1_laureate | | | | | | +- IF out inob1_standard_parms return_code IS EQUAL TO 1 | | | | +- IF out inob1_standard_parms reason_code IS EQUAL TO 0 | | | | | MOVE local inob1_laureate TO out_filter inob1_laureate | | | | | SET out_display_description inob1_prize description TO SPACES | | | | | SET out_display_awd_pres_descript inob1_award_presentation description TO SPACES | | | | | SET LAST OF out_award_group TO 0 | | | | | SET PRIZE_CLT.pic_laureate.Visible TO "False" | | | | | USE snob1111_prize_list (procedure step) | | | | | WHICH IMPORTS: Spec View in_filter inob1_prize_category TO Spec View in inob1_prize_category | | | | | Spec View out_filter inob1_laureate TO Spec View in inob1_laureate | | | | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | | | | Group View out_group FROM Group View out_group | | | | +- ELSE | | | | | | | | | | SET out_select_laureate ief_supplied flag TO "Y" | | | | | EXIT STATE IS link_to_laureates_clt | | | | +-- | | | +- ELSE | | | | | | | | SET out_select_laureate ief_supplied flag TO "Y" | | | | EXIT STATE IS link_to_laureates_clt | | | +-- | | +- ELSE | | | MOVE local inob1_laureate TO out_filter inob1_laureate | | | SET out_display_description inob1_prize description TO SPACES | | | SET out_display_awd_pres_descript inob1_award_presentation description TO SPACES | | | SET LAST OF out_award_group TO 0 | | | SET PRIZE_CLT.pic_laureate.Visible TO "False" | | | USE snob1111_prize_list (procedure step) | | | WHICH IMPORTS: Spec View in_filter inob1_prize_category TO Spec View in inob1_prize_category | | | Spec View in_filter inob1_laureate TO Spec View in inob1_laureate | | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | | Group View out_group FROM Group View out_group | | +-- | +-- +-- +- EVENT ACTION prize_clt_mn_delete_click | GET ROW HIGHLIGHTED IN out_group STARTING AT 1 GIVING SUBSCRIPT OF out_group | +- IF SUBSCRIPT OF out_group IS NOT EQUAL TO 0

2002 ActiveDevelopment Group, Inc. 75

Page 76: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial | | +- IF MessageBoxBeep("Are you sure you want to delete this Prize?", "Delete Confirmation", "YesNo", 2, "Question", "Application", 0) IS EQUAL TO "Yes" | | | USE snob1101_prize_delete (procedure step) | | | WHICH IMPORTS: Spec View out_grp inob1_prize TO Spec View in inob1_prize | | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | | | | | +- IF out inob1_standard_parms return_code IS EQUAL TO 1 | | | | SET out_display_description inob1_prize description TO SPACES | | | | SET out_display_awd_pres_descript inob1_award_presentation description TO SPACES | | | | SET LAST OF out_award_group TO 0 | | | | SET PRIZE_CLT.pic_laureate.Visible TO "False" | | | | USE snob1111_prize_list (procedure step) | | | | WHICH IMPORTS: Spec View in_filter inob1_prize_category TO Spec View in inob1_prize_category | | | | Spec View in_filter inob1_laureate TO Spec View in inob1_laureate | | | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | | | Group View out_group FROM Group View out_group | | | +-- | | +-- | +-- +-- +- EVENT ACTION prize_clt_mn_laureates_click | GET ROW HIGHLIGHTED IN out_group STARTING AT 1 GIVING SUBSCRIPT OF out_group | +- IF SUBSCRIPT OF out_group IS NOT EQUAL TO 0 | | MOVE out_grp inob1_prize TO out_selected inob1_prize | | MOVE out_grp inob1_prize_category TO out_selected inob1_prize_category | +- ELSE | | SET out_selected inob1_prize description TO SPACES | | SET out_selected inob1_prize id TO 0 | | SET out_selected inob1_prize year TO 0 | | SET out_selected inob1_prize_category discipline TO SPACES | | SET out_selected inob1_prize_category id TO 0 | +-- | EXIT STATE IS link_to_laureates_clt +-- +- EVENT ACTION nobel_prize_detail_pb_ok_click | +- CASE OF in_selected inob1_prize id | +- CASE 0 | | USE snob1071_prize_create (procedure step) | | WHICH IMPORTS: Spec View in_selected inob1_prize TO Spec View in inob1_prize | | Spec View in_selected inob1_prize_category TO Spec View in inob1_prize_category | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Spec View out_selected inob1_prize FROM Spec View out inob1_prize | +- OTHERWISE | | USE snob1091_prize_update (procedure step) | | WHICH IMPORTS: Spec View in_selected inob1_prize TO Spec View in inob1_prize | | Spec View in_selected inob1_prize_category TO Spec View in inob1_prize_category | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | +-- | +- IF out inob1_standard_parms return_code IS EQUAL TO 1 | | CLOSE Dialog Box NOBEL_PRIZE_DETAIL | | SET out_display_description inob1_prize description TO SPACES | | SET out_display_awd_pres_descript inob1_award_presentation description TO SPACES | | USE snob1111_prize_list (procedure step) | | WHICH IMPORTS: Spec View in_filter inob1_prize_category TO Spec View in inob1_prize_category | | Spec View in_filter inob1_laureate TO Spec View in inob1_laureate | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Group View out_group FROM Group View out_group | | | | += FOR SUBSCRIPT OF out_group FROM 1 TO LAST OF out_group BY 1 | | | +- IF out_grp inob1_prize id IS EQUAL TO in_selected inob1_prize id | | | | HIGHLIGHT out_group AT SUBSCRIPT OF out_group | | | | USE snob1081_prize_read_by_id (procedure step) | | | | WHICH IMPORTS: Spec View out_grp inob1_prize TO Spec View in inob1_prize | | | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | | | Spec View out_display_description inob1_prize FROM Spec View out inob1_prize | | | | <none> FROM Spec View out inob1_prize_category | | | | USE snob1281_awd_pres_list_prz_yr (procedure step) | | | | WHICH IMPORTS: Spec View in_filter inob1_laureate TO Spec View in_filter inob1_laureate | | | | Spec View out_grp inob1_prize TO Spec View in_filter inob1_prize

2002 ActiveDevelopment Group, Inc. 76

Page 77: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial | | | | Spec View out_grp inob1_prize_category TO Spec View in_filter inob1_prize_category | | | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | | | Group View out_award_group FROM Group View out_group | | <------ESCAPE | | | +-- | | +-- | +-- +-- +- EVENT ACTION nobel_prize_detail_open | +- IF COMMAND IS EQUAL TO update | | USE snob1081_prize_read_by_id (procedure step) | | WHICH IMPORTS: Spec View in_selected inob1_prize TO Spec View in inob1_prize | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Spec View out_selected inob1_prize FROM Spec View out inob1_prize | | Spec View out_selected inob1_prize_category FROM Spec View out inob1_prize_category | +-- +-- +- EVENT ACTION prize_clt_pb_select_cate_click | NOTE Click event for the Category selection for filter on primary window. | SET out_select_category ief_supplied flag TO "Y" | EXIT STATE IS link_prz_cat_for_filter_value +-- +- EVENT ACTION detail_dlg_pb_select_cate_click | NOTE Click event for Category selection for input field on detail dialog. | SET out_select_category ief_supplied flag TO "Y" | EXIT STATE IS link_prz_cat_for_input_value +-- +- EVENT ACTION prize_clt_lb_out_group_click | GET ROW HIGHLIGHTED IN out_group STARTING AT 1 GIVING SUBSCRIPT OF out_group | +- IF SUBSCRIPT OF out_group IS NOT EQUAL TO 0 | | SET PRIZE_CLT.pic_laureate.Visible TO "False" | | USE snob1081_prize_read_by_id (procedure step) | | WHICH IMPORTS: Spec View out_grp inob1_prize TO Spec View in inob1_prize | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Spec View out_display_description inob1_prize FROM Spec View out inob1_prize | | <none> FROM Spec View out inob1_prize_category | | USE snob1281_awd_pres_list_prz_yr (procedure step) | | WHICH IMPORTS: Spec View in_filter inob1_laureate TO Spec View in_filter inob1_laureate | | Spec View out_grp inob1_prize TO Spec View in_filter inob1_prize | | Spec View out_grp inob1_prize_category TO Spec View in_filter inob1_prize_category | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Group View out_award_group FROM Group View out_group | +-- +-- +- EVENT ACTION prize_clt_ef_discipline_changed | +- IF in_filter inob1_prize_category discipline IS NOT EQUAL TO SPACES | | USE snob1021_prize_cat_read_name (procedure step) | | WHICH IMPORTS: Spec View in_filter inob1_prize_category TO Spec View in inob1_prize_category | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Spec View out_filter inob1_prize_category FROM Spec View out inob1_prize_category | | | | +- IF out inob1_standard_parms return_code IS NOT EQUAL TO 1 | | | SET out_filter inob1_prize_category id TO 0 | | | FUNCTION MessageBoxBeep("The Prize Category was not valid. List will default to all Prizes.", "Invalid Prize Category", "OK", 1, "Exclamation" | | | , "Application", 0) | | +-- | +- ELSE | | SET out_filter inob1_prize_category id TO 0 | +-- | SET out_display_description inob1_prize description TO SPACES | SET out_display_awd_pres_descript inob1_award_presentation description TO SPACES | SET LAST OF out_award_group TO 0 | SET PRIZE_CLT.pic_laureate.Visible TO "False" | USE snob1111_prize_list (procedure step) | WHICH IMPORTS: Spec View out_filter inob1_prize_category TO Spec View in inob1_prize_category | Spec View in_filter inob1_laureate TO Spec View in inob1_laureate | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | Group View out_group FROM Group View out_group

2002 ActiveDevelopment Group, Inc. 77

Page 78: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial +-- +- EVENT ACTION detail_dlg_ef_discipline_changed | +- IF in_selected inob1_prize_category discipline IS NOT EQUAL TO SPACES | | USE snob1021_prize_cat_read_name (procedure step) | | WHICH IMPORTS: Spec View in_selected inob1_prize_category TO Spec View in inob1_prize_category | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Spec View out_selected inob1_prize_category FROM Spec View out inob1_prize_category | | | | +- IF out inob1_standard_parms return_code IS NOT EQUAL TO 1 | | | SET out_selected inob1_prize_category id TO 0 | | | FUNCTION MessageBoxBeep("The Prize Category was not valid. Please provide a valid entry.", "Invalid Prize Category", "OK", 1, "Exclamation" | | | , "Application", 0) | | +-- | +- ELSE | | SET out_selected inob1_prize_category id TO 0 | +-- +-- +- EVENT ACTION prize_clt_mn_assign_prize_click | GET ROW HIGHLIGHTED IN out_group STARTING AT 1 GIVING SUBSCRIPT OF out_group | +- IF SUBSCRIPT OF out_group IS NOT EQUAL TO 0 | | MOVE out_grp inob1_prize TO out_selected inob1_prize | | MOVE out_grp inob1_prize_category TO out_selected inob1_prize_category | | SET out_selected inob1_prize description TO out_display_description inob1_prize description | | | | GET ROW HIGHLIGHTED IN out_award_group STARTING AT 1 GIVING SUBSCRIPT OF out_award_group | | +- IF SUBSCRIPT OF out_award_group IS NOT EQUAL TO 0 | | | MOVE out_award_grp inob1_laureate TO out_selected inob1_laureate | | +- ELSE | | | MOVE local inob1_laureate TO out_selected inob1_laureate | | +-- | | EXIT STATE IS link_to_prize_assignment_clt | +-- +-- +- EVENT ACTION prize_clt_pb_select_laur_click | SET out_select_laureate ief_supplied flag TO "Y" | EXIT STATE IS link_to_laureate_for_selection +-- +- EVENT ACTION prize_clt_ef_last_name_changed | SET out_filter inob1_laureate id TO 0 +-- +- EVENT ACTION prize_clt_ef_first_name_changed | SET out_filter inob1_laureate id TO 0 +-- +- EVENT ACTION prize_clt_ef_mi_changed | SET out_filter inob1_laureate id TO 0 +-- +- EVENT ACTION prize_clt_lb_out_award_g_click | GET ROW HIGHLIGHTED IN out_award_group STARTING AT 1 GIVING SUBSCRIPT OF out_award_group | +- IF SUBSCRIPT OF out_award_group IS NOT EQUAL TO 0 | | USE snob1131_laureate_read_by_id (procedure step) | | WHICH IMPORTS: Spec View out_award_grp inob1_laureate TO Spec View in inob1_laureate | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Spec View out_selected inob1_laureate FROM Spec View out inob1_laureate | | | | +- IF out inob1_standard_parms return_code IS EQUAL TO 1 | | | SET PRIZE_CLT.pic_laureate.Visible TO "True" | | | INVOKE PRIZE_CLT.pic_laureate.SetBitmapName(concat(trim(out_selected inob1_laureate image), ".bmp"), "c:\cool\bitmaps\", "Scaled") | | | INVOKE PRIZE_CLT.pic_laureate.Redraw() | | | REFRESH | | | USE snob1231_award_pres_read_id (procedure step) | | | WHICH IMPORTS: Spec View out_award_grp inob1_award_presentation TO Spec View in inob1_award_presentation | | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | | Spec View out_display_awd_pres_descript inob1_award_presentation FROM Spec View out inob1_award_presentation | | | | | +- ELSE

2002 ActiveDevelopment Group, Inc. 78

Page 79: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial | | | SET out_display_awd_pres_descript inob1_award_presentation description TO SPACES | | | SET PRIZE_CLT.pic_laureate.Visible TO "False" | | +-- | +-- +--

2002 ActiveDevelopment Group, Inc. 79

Page 80: Advantage Gen Client Server Development Tutorial

2002 ActiveDevelopment Group, Inc.

PRIZE_ASSIGNMENT_CLT ___________________________________________________________________________ Procedure Step Description: Action Block Description: +- PRIZE_ASSIGNMENT_CLT | IMPORTS: | Spec View in inob1_prize_category (optional,transient,import only) | discipline (optional) | id (optional) | Spec View in inob1_laureate (optional,transient,import only) | id (optional) | middle_name (optional) | last_name (optional) | first_name (optional) | Spec View in inob1_award_presentation (optional,transient,import only) | date (optional) | id (optional) | description (optional) | Spec View in inob1_prize (optional,transient,import only) | description (optional) | year (optional) | id (optional) | EXPORTS: | Spec View out inob1_prize_category (transient,export only) | discipline | id | Spec View out inob1_laureate (transient,export only) | id | middle_name | last_name | first_name | Spec View out inob1_prize (transient,export only) | description | year | id | Spec View out inob1_award_presentation (transient,export only) | date | id | description | Spec View out inob1_standard_parms (transient,export only) | rollback_indicator | context_string | reason_code | return_code | origin_server_id | data_store_status_indicator | severity_code | action | Work View out_select_laureate ief_supplied (transient,export only) | flag | LOCALS: | Spec View local inob1_laureate | middle_name | last_name | first_name | id | ENTITY ACTIONS: | | MOVE in inob1_award_presentation TO out inob1_award_presentation | MOVE in inob1_laureate TO out inob1_laureate | MOVE in inob1_prize TO out inob1_prize

Page 81: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial | MOVE in inob1_prize_category TO out inob1_prize_category +-- +- EVENT ACTION prize_assignment_clt_open | NOTE Try to find an Award Presentation. | +- IF in inob1_laureate id IS NOT EQUAL TO 0 | | AND in inob1_prize id IS NOT EQUAL TO 0 | | USE snob1271_awd_prs_read_prz_laur (procedure step) | | WHICH IMPORTS: Spec View in inob1_prize TO Spec View in inob1_prize | | Spec View in inob1_laureate TO Spec View in inob1_laureate | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Spec View out inob1_award_presentation FROM Spec View out inob1_award_presentation | +-- +-- +- EVENT ACTION prize_assignment_c_pb_save_click | USE snob1261_laureate_lnm_fnm_read (procedure step) | WHICH IMPORTS: Spec View in inob1_laureate TO Spec View in_qualifier inob1_laureate | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | Spec View local inob1_laureate FROM Spec View out inob1_laureate | | +- IF out inob1_standard_parms return_code IS EQUAL TO 1 | | MOVE local inob1_laureate TO out inob1_laureate | | +- IF in inob1_award_presentation id IS EQUAL TO 0 | | | USE snob1221_award_pres_create (procedure step) | | | WHICH IMPORTS: Spec View in inob1_prize TO Spec View in inob1_prize | | | Spec View out inob1_laureate TO Spec View in inob1_laureate | | | Spec View in inob1_award_presentation TO Spec View in inob1_award_presentation | | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | | Spec View out inob1_award_presentation FROM Spec View out inob1_award_presentation | | +- ELSE | | | USE snob1241_award_pres_update (procedure step) | | | WHICH IMPORTS: Spec View in inob1_award_presentation TO Spec View in inob1_award_presentation | | | Spec View out inob1_laureate TO Spec View in inob1_laureate | | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +-- | | +- IF out inob1_standard_parms return_code IS EQUAL TO 1 | | | EXIT STATE IS return | | +-- | +-- +-- +- EVENT ACTION prize_assignment_pb_delete_click | +- IF in inob1_award_presentation id IS NOT EQUAL TO 0 | | +- IF MessageBoxBeep("Are you sure you want to delete this Award Presentation?", "Delete Confirmation", "YesNo", 2, "Question", "Application", 0) | | | IS EQUAL TO "Yes" | | | USE snob1251_award_pres_delete (procedure step) | | | WHICH IMPORTS: Spec View in inob1_award_presentation TO Spec View in inob1_award_presentation | | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | | | | | +- IF out inob1_standard_parms return_code IS EQUAL TO 1 | | | | EXIT STATE IS return | | | +-- | | +-- | +-- +-- +- EVENT ACTION prize_assig_pb_select_laur_click | SET out_select_laureate ief_supplied flag TO "Y" | EXIT STATE IS link_to_laureates_clt +--

2002 ActiveDevelopment Group, Inc. 81

Page 82: Advantage Gen Client Server Development Tutorial

2002 ActiveDevelopment Group, Inc.

LAUREATES_CLT ___________________________________________________________________________ +- LAUREATES_CLT | IMPORTS: | Work View in_select_available ief_supplied (optional,transient,import only) | flag (optional) | Spec View in_selected inob1_laureate (optional,transient,import only) | deceased_year (optional) | birth_year (optional) | academic_inst_location (optional) | academic_institution (optional) | citizenship (optional) | middle_name (optional) | last_name (optional) | first_name (optional) | id (optional) | image (optional) | Group View in_group (optional,50,explicit,import only) | Work View in_grp ief_supplied (optional,transient) | select_char (optional) | Spec View in_grp inob1_laureate (optional,transient) | deceased_year (optional) | birth_year (optional) | academic_inst_location (optional) | academic_institution (optional) | citizenship (optional) | middle_name (optional) | last_name (optional) | first_name (optional) | id (optional) | image (optional) | Spec View in_filter inob1_prize (optional,transient,import only) | id (optional) | year (optional) | Spec View in_filter inob1_prize_category (optional,transient,import only) | id (optional) | discipline (optional) | EXPORTS: | Work View out_select_available ief_supplied (transient,export only) | flag | Spec View out_filter inob1_prize (transient,export only) | id | year | Spec View out_filter inob1_prize_category (transient,export only) | id | discipline | Spec View out_selected inob1_laureate (transient,export only) | deceased_year | birth_year | academic_inst_location | academic_institution | citizenship | middle_name | last_name | first_name | id | image | Group View out_group (50,explicit,export only) | Work View out_grp ief_supplied (transient) | select_char | Spec View out_grp inob1_laureate (transient) | deceased_year | birth_year

Page 83: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial | academic_inst_location | academic_institution | citizenship | middle_name | last_name | first_name | id | image | Spec View out inob1_standard_parms (transient,export only) | rollback_indicator | context_string | reason_code | return_code | origin_server_id | data_store_status_indicator | severity_code | action | Work View out_select_category ief_supplied (transient,export only) | flag | LOCALS: | ENTITY ACTIONS: | | MOVE in_filter inob1_prize TO out_filter inob1_prize | MOVE in_filter inob1_prize_category TO out_filter inob1_prize_category | MOVE in_selected inob1_laureate TO out_selected inob1_laureate | MOVE in_select_available ief_supplied TO out_select_available ief_supplied | += FOR SUBSCRIPT OF in_group FROM 1 TO LAST OF in_group BY 1 | | SET SUBSCRIPT OF out_group TO SUBSCRIPT OF in_group | | MOVE in_grp ief_supplied TO out_grp ief_supplied | | MOVE in_grp inob1_laureate TO out_grp inob1_laureate | +-- +-- +- EVENT ACTION laureates_clt_open | DISABLE COMMAND protect | SET LAUREATES_CLT.pic_laureate.Visible TO "False" | +- IF in_select_available ief_supplied flag IS NOT EQUAL TO "Y" | | DISABLE COMMAND select | +-- | USE snob1161_laureate_list_name (procedure step) | WHICH IMPORTS: Spec View in_filter inob1_prize TO Spec View in inob1_prize | Spec View in_filter inob1_prize_category TO Spec View in inob1_prize_category | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | Group View out_group FROM Group View out_group +-- +- EVENT ACTION laureates_clt_mn_new_click | SET out_selected inob1_laureate academic_inst_location TO SPACES | SET out_selected inob1_laureate academic_institution TO SPACES | SET out_selected inob1_laureate birth_year TO 0 | SET out_selected inob1_laureate citizenship TO SPACES | SET out_selected inob1_laureate deceased_year TO 0 | SET out_selected inob1_laureate first_name TO SPACES | SET out_selected inob1_laureate id TO 0 | SET out_selected inob1_laureate last_name TO SPACES | SET out_selected inob1_laureate middle_name TO SPACES | SET out_selected inob1_laureate image TO SPACES | | COMMAND IS create | OPEN Dialog Box LAUREATE_DETAIL +-- +- EVENT ACTION laureates_clt_mn_open_click | GET ROW HIGHLIGHTED IN out_group STARTING AT 1 GIVING SUBSCRIPT OF out_group | +- IF SUBSCRIPT OF out_group IS NOT EQUAL TO 0 | | COMMAND IS update | | MOVE out_grp inob1_laureate TO out_selected inob1_laureate | | OPEN Dialog Box LAUREATE_DETAIL | +-- +-- +- EVENT ACTION laureates_clt_mn_list_click | SET LAUREATES_CLT.pic_laureate.Visible TO "False"

2002 ActiveDevelopment Group, Inc. 83

Page 84: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial | USE snob1161_laureate_list_name (procedure step) | WHICH IMPORTS: Spec View in_filter inob1_prize TO Spec View in inob1_prize | Spec View in_filter inob1_prize_category TO Spec View in inob1_prize_category | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | Group View out_group FROM Group View out_group +-- +- EVENT ACTION laureates_clt_mn_delete_click | GET ROW HIGHLIGHTED IN out_group STARTING AT 1 GIVING SUBSCRIPT OF out_group | +- IF SUBSCRIPT OF out_group IS NOT EQUAL TO 0 | | +- IF MessageBoxBeep("Are you sure you want to delete this Laureate?", "Delete Confirmation", "YesNo", 2, "None", "Application", 0) IS EQUAL TO "Yes" | | | USE snob1151_laureate_delete (procedure step) | | | WHICH IMPORTS: Spec View out_grp inob1_laureate TO Spec View in inob1_laureate | | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | | | | | +- IF out inob1_standard_parms return_code IS EQUAL TO 1 | | | | SET LAUREATES_CLT.pic_laureate.Visible TO "False" | | | | USE snob1161_laureate_list_name (procedure step) | | | | WHICH IMPORTS: Spec View in_filter inob1_prize TO Spec View in inob1_prize | | | | Spec View in_filter inob1_prize_category TO Spec View in inob1_prize_category | | | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | | | Group View out_group FROM Group View out_group | | | +-- | | +-- | +-- +-- +- EVENT ACTION laureates_clt_mn_prizes_click | GET ROW HIGHLIGHTED IN out_group STARTING AT 1 GIVING SUBSCRIPT OF out_group | +- IF SUBSCRIPT OF out_group IS NOT EQUAL TO 0 | | MOVE out_grp inob1_laureate TO out_selected inob1_laureate | +-- | EXIT STATE IS link_to_prize_clt +-- +- EVENT ACTION laureates_c_mn_resource_li_click | GET ROW HIGHLIGHTED IN out_group STARTING AT 1 GIVING SUBSCRIPT OF out_group | +- IF SUBSCRIPT OF out_group IS NOT EQUAL TO 0 | | MOVE out_grp inob1_laureate TO out_selected inob1_laureate | | EXIT STATE IS link_to_resource_links_clt | +-- +-- +- EVENT ACTION laureate_detail_open | +- IF COMMAND IS EQUAL TO update | | USE snob1131_laureate_read_by_id (procedure step) | | WHICH IMPORTS: Spec View in_selected inob1_laureate TO Spec View in inob1_laureate | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Spec View out_selected inob1_laureate FROM Spec View out inob1_laureate | | | | SET LAUREATE_DETAIL.pic_laureate.Visible TO "True" | | INVOKE LAUREATE_DETAIL.pic_laureate.SetBitmapName(concat(trim(out_selected inob1_laureate image), ".bmp"), "c:\cool\bitmaps\", "Scaled") | | INVOKE LAUREATE_DETAIL.pic_laureate.Redraw() | | REFRESH | +- ELSE | | SET LAUREATE_DETAIL.pic_laureate.Visible TO "False" | | REFRESH | +-- +-- +- EVENT ACTION laureate_detail_pb_ok_click | +- IF out_selected inob1_laureate id IS EQUAL TO 0 | | USE snob1121_laureate_create (procedure step) | | WHICH IMPORTS: Spec View out_selected inob1_laureate TO Spec View in inob1_laureate | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Spec View out_selected inob1_laureate FROM Spec View out inob1_laureate | | | +- ELSE | | USE snob1141_laureate_update (procedure step) | | WHICH IMPORTS: Spec View out_selected inob1_laureate TO Spec View in inob1_laureate | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | +--

2002 ActiveDevelopment Group, Inc. 84

Page 85: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial | +- IF out inob1_standard_parms return_code IS EQUAL TO 1 | | CLOSE Dialog Box LAUREATE_DETAIL | | USE snob1161_laureate_list_name (procedure step) | | WHICH IMPORTS: Spec View in_filter inob1_prize TO Spec View in inob1_prize | | Spec View in_filter inob1_prize_category TO Spec View in inob1_prize_category | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Group View out_group FROM Group View out_group | +-- +-- +- EVENT ACTION laureates_c_pb_select_cate_click | NOTE Click event for the Category selection for filter on primary window. | SET out_select_category ief_supplied flag TO "Y" | EXIT STATE IS link_prz_cat_for_filter_value +-- +- EVENT ACTION laureates_ef_discipline_changed | +- IF in_filter inob1_prize_category discipline IS NOT EQUAL TO SPACES | | USE snob1021_prize_cat_read_name (procedure step) | | WHICH IMPORTS: Spec View in_filter inob1_prize_category TO Spec View in inob1_prize_category | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Spec View out_filter inob1_prize_category FROM Spec View out inob1_prize_category | +- ELSE | | SET out_filter inob1_prize_category id TO 0 | +-- +-- +- EVENT ACTION laureates_clt_mn_select_click | GET ROW HIGHLIGHTED IN out_group STARTING AT 1 GIVING SUBSCRIPT OF out_group | +- IF SUBSCRIPT OF out_group IS NOT EQUAL TO 0 | | MOVE out_grp inob1_laureate TO out_selected inob1_laureate | | EXIT STATE IS return | +-- +-- +- EVENT ACTION laureate_detail_ef_image_changed | +- IF out_selected inob1_laureate image IS NOT EQUAL TO SPACES | | SET LAUREATE_DETAIL.pic_laureate.Visible TO "True" | | INVOKE LAUREATE_DETAIL.pic_laureate.SetBitmapName(concat(trim(out_selected inob1_laureate image), ".bmp"), "c:\cool\bitmaps\", "Scaled") | | INVOKE LAUREATE_DETAIL.pic_laureate.Redraw() | | REFRESH | +- ELSE | | SET LAUREATE_DETAIL.pic_laureate.Visible TO "False" | +-- +-- +- EVENT ACTION laureates_clt_lb_out_group_click | GET ROW HIGHLIGHTED IN out_group STARTING AT 1 GIVING SUBSCRIPT OF out_group | +- IF SUBSCRIPT OF out_group IS NOT EQUAL TO 0 | | MOVE out_grp inob1_laureate TO out_selected inob1_laureate | | SET LAUREATES_CLT.pic_laureate.Visible TO "True" | | INVOKE LAUREATES_CLT.pic_laureate.SetBitmapName(concat(trim(out_selected inob1_laureate image), ".bmp"), "c:\cool\bitmaps\", "Scaled") | | INVOKE LAUREATES_CLT.pic_laureate.Redraw() | | REFRESH | +-- +--

2002 ActiveDevelopment Group, Inc. 85

Page 86: Advantage Gen Client Server Development Tutorial

2002 ActiveDevelopment Group, Inc.

RESOURCE_LINKS_CLT ___________________________________________________________________________ +- RESOURCE_LINKS_CLT | IMPORTS: | Group View in_group (optional,20,explicit,import only) | Work View in_grp ief_supplied (optional,transient) | select_char (optional) | Spec View in_grp inob1_resource_link (optional,transient) | url (optional) | id (optional) | Spec View in_selected inob1_resource_link (optional,transient,import only) | url (optional) | id (optional) | Spec View in_filter inob1_laureate (optional,transient,import only) | id (optional) | middle_name (optional) | last_name (optional) | first_name (optional) | EXPORTS: | Work View out_select_laureate ief_supplied (transient,export only) | flag | Spec View out_filter inob1_laureate (transient,export only) | id | middle_name | last_name | first_name | Spec View out_selected inob1_resource_link (transient,export only) | url | id | Group View out_group (20,explicit,export only) | Work View out_grp ief_supplied (transient) | select_char | Spec View out_grp inob1_resource_link (transient) | url | id | Spec View out inob1_standard_parms (transient,export only) | rollback_indicator | context_string | reason_code | return_code | origin_server_id | data_store_status_indicator | severity_code | action | LOCALS: | Spec View local inob1_resource_link | url | Spec View local inob1_laureate | id | middle_name | last_name | first_name | ENTITY ACTIONS: | | MOVE in_filter inob1_laureate TO out_filter inob1_laureate | MOVE in_selected inob1_resource_link TO out_selected inob1_resource_link | += FOR SUBSCRIPT OF in_group FROM 1 TO LAST OF in_group BY 1 | | SET SUBSCRIPT OF out_group TO SUBSCRIPT OF in_group | | MOVE in_grp ief_supplied TO out_grp ief_supplied | | MOVE in_grp inob1_resource_link TO out_grp inob1_resource_link | +-- | +- IF COMMAND IS EQUAL TO return | | NOTE Return from Laureate selection.

Page 87: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial | | USE snob1211_res_link_list (procedure step) | | WHICH IMPORTS: Spec View in_filter inob1_laureate TO Spec View in inob1_laureate | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Group View out_group FROM Group View out_group | +-- +-- +- EVENT ACTION resource_links_open | DISABLE COMMAND protect | +- IF in_filter inob1_laureate id IS NOT EQUAL TO 0 | | USE snob1211_res_link_list (procedure step) | | WHICH IMPORTS: Spec View in_filter inob1_laureate TO Spec View in inob1_laureate | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Group View out_group FROM Group View out_group | +-- +-- +- EVENT ACTION resource_links_mn_new_click | SET out_selected inob1_resource_link id TO 0 | SET out_selected inob1_resource_link url TO SPACES | COMMAND IS create | OPEN Dialog Box RESOURCE_LINK_DETAIL +-- +- EVENT ACTION resource_links_mn_open_click | GET ROW HIGHLIGHTED IN out_group STARTING AT 1 GIVING SUBSCRIPT OF out_group | +- IF SUBSCRIPT OF out_group IS NOT EQUAL TO 0 | | COMMAND IS update | | MOVE out_grp inob1_resource_link TO out_selected inob1_resource_link | | OPEN Dialog Box RESOURCE_LINK_DETAIL | +-- +-- +- EVENT ACTION resource_links_mn_list_click | +- IF in_filter inob1_laureate id IS NOT EQUAL TO 0 | | USE snob1211_res_link_list (procedure step) | | WHICH IMPORTS: Spec View in_filter inob1_laureate TO Spec View in inob1_laureate | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Group View out_group FROM Group View out_group | +- ELSE | | +- IF in_filter inob1_laureate last_name IS NOT EQUAL TO SPACES | | | USE snob1261_laureate_lnm_fnm_read (procedure step) | | | WHICH IMPORTS: Spec View in_filter inob1_laureate TO Spec View in_qualifier inob1_laureate | | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | | Spec View local inob1_laureate FROM Spec View out inob1_laureate | | | | | | +- IF out inob1_standard_parms return_code IS EQUAL TO 1 | | | | +- IF out inob1_standard_parms reason_code IS EQUAL TO 0 | | | | | MOVE local inob1_laureate TO out_filter inob1_laureate | | | | | USE snob1211_res_link_list (procedure step) | | | | | WHICH IMPORTS: Spec View out_filter inob1_laureate TO Spec View in inob1_laureate | | | | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | | | | Group View out_group FROM Group View out_group | | | | | | | | | +- ELSE | | | | | | | | | | SET out_select_laureate ief_supplied flag TO "Y" | | | | | EXIT STATE IS link_to_laureates_clt | | | | +-- | | | +- ELSE | | | | | | | | SET out_select_laureate ief_supplied flag TO "Y" | | | | EXIT STATE IS link_to_laureates_clt | | | +-- | | +- ELSE | | | | | | SET out_select_laureate ief_supplied flag TO "Y" | | | EXIT STATE IS link_to_laureates_clt | | +-- | +-- +-- +- EVENT ACTION resource_links_mn_delete_click | GET ROW HIGHLIGHTED IN out_group STARTING AT 1 GIVING SUBSCRIPT OF out_group

2002 ActiveDevelopment Group, Inc. 87

Page 88: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial | +- IF SUBSCRIPT OF out_group IS NOT EQUAL TO 0 | | +- IF MessageBoxBeep("Are you sure you want to delete this Resource Link?", "Delete Confirmation", "YesNo", 2, "Question", "Application", 0) IS EQUAL TO | | | "Yes" | | | USE snob1201_res_link_delete (procedure step) | | | WHICH IMPORTS: Spec View out_grp inob1_resource_link TO Spec View in inob1_resource_link | | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | | | | | +- IF out inob1_standard_parms return_code IS EQUAL TO 1 | | | | USE snob1211_res_link_list (procedure step) | | | | WHICH IMPORTS: Spec View in_filter inob1_laureate TO Spec View in inob1_laureate | | | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | | | Group View out_group FROM Group View out_group | | | +-- | | +-- | +-- +-- +- EVENT ACTION resource_link_detail_open | +- IF COMMAND IS EQUAL TO update | | USE snob1181_res_link_read (procedure step) | | WHICH IMPORTS: Spec View in_selected inob1_resource_link TO Spec View in inob1_resource_link | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Spec View out_selected inob1_resource_link FROM Spec View out inob1_resource_link | +-- +-- +- EVENT ACTION resource_link_detail_pb_ok_click | +- IF in_selected inob1_resource_link id IS EQUAL TO 0 | | USE snob1171_res_link_create (procedure step) | | WHICH IMPORTS: Spec View in_selected inob1_resource_link TO Spec View in inob1_resource_link | | Spec View in_filter inob1_laureate TO Spec View in inob1_laureate | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Spec View out_selected inob1_resource_link FROM Spec View out inob1_resource_link | +- ELSE | | USE snob1191_res_link_update (procedure step) | | WHICH IMPORTS: Spec View in_selected inob1_resource_link TO Spec View in inob1_resource_link | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | +-- | +- IF out inob1_standard_parms return_code IS EQUAL TO 1 | | CLOSE Dialog Box RESOURCE_LINK_DETAIL | | USE snob1211_res_link_list (procedure step) | | WHICH IMPORTS: Spec View in_filter inob1_laureate TO Spec View in inob1_laureate | | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | Group View out_group FROM Group View out_group | +-- +-- +- EVENT ACTION resource_li_pb_select_laur_click | SET out_select_laureate ief_supplied flag TO "Y" | EXIT STATE IS link_to_laureates_clt +-- +- EVENT ACTION resource_lb_out_grou_doubleclick | GET ROW HIGHLIGHTED IN out_group STARTING AT 1 GIVING SUBSCRIPT OF out_group | +- IF SUBSCRIPT OF out_group IS NOT EQUAL TO 0 | | SET local inob1_resource_link url TO concat("c:\Program Files\Internet Explorer\iexplore.exe http://", trim(out_grp inob1_resource_link url)) | | FUNCTION Launch(local inob1_resource_link url) | +-- +-- +- EVENT ACTION resource_links_ef_lname_info_chg | NOTE If any name fields in the filter are changed, set the filter id to zero to force a lookup or read for the filter information. | SET out_filter inob1_laureate id TO 0 +-- +- EVENT ACTION resource_links_ef_fname_info_chg | NOTE If any name fields in the filter are changed, set the filter id to zero to force a lookup or read for the filter information. | SET out_filter inob1_laureate id TO 0 +-- +- EVENT ACTION resource_links_ef_mname_info_chg

2002 ActiveDevelopment Group, Inc. 88

Page 89: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial | NOTE If any name fields in the filter are changed, set the filter id to zero to force a lookup or read for the filter information. | SET out_filter inob1_laureate id TO 0 +--

2002 ActiveDevelopment Group, Inc. 89

Page 90: Advantage Gen Client Server Development Tutorial

2002 ActiveDevelopment Group, Inc.

Appendix D – Build Tool Configuration File (WIN32ITM.TGT) This appendix presents an example of the Build Tool configuration file (win32itm.tgt) located in the Advantage Gen installation directory. Begin win32itm.tgt file listing… ;Windows NT/Windows 9X Build Tool - Default target file: WIN32ITM.TGT ; Last Revised: 08/16/99 ver. 5.1 ; Copyright 1997-1999, Sterling Software, Inc. ; This Build Tool setup file provides settings to tailor application ; builds to your specifications in the form of "tokens". ; ; Any defined "token" record (eg: OPT.DSUSER) can be edited to use ; a customer-supplied "value" (eg: USERID) by editing the value at the end. ; To uncomment a token, delete the ; character preceding a "token" record. ; (Note: For your reference, the first "token" record below is OPT.DSUSER). ;**************[ REQUIRED USER-SPECIFIC IMPLEMENTATION TOKENS ]************** ; ===============( DBMS-dependent DDL/Bindfile Generation )=============== ;---------------------------------------------------------------------------- ; Environment variables DSUSER and DSPSWD override the following token pair. ; DBMS username and password are configurable per Database. ; ; Oracle Example: ; Replace the values to match a user/password which has been DBA granted ; (eg: DBA commands: GRANT CONNECT,RESOURCE TO user IDENTIFIED BY password; ; GRANT CREATE TABLESPACE TO user; ; GRANT DROP TABLESPACE TO user; ;---------------------------------------------------------------------------- OPT.DSUSER db2admin OPT.DSPSWD db2 ;---------------------------------------------------------------------------- ; Use the native DBMS utilities to create a server, database, or alias. ; Enter the name in the OPT.DBCONNECT token. If DBCONNECT is not entered ; or is left commented out, the database name stored in the model will ; be used instead. ; Optionally, if DBCONNECT is set to LOCAL, no database name will be used. ; In this case, it is expected that the users local environment is set up ; with a default location to connect to. The method of indicating a ; default location varies by DBMS. ;---------------------------------------------------------------------------- OPT.DBCONNECT LOCAL ;*********************[ OPTIONAL ADVANCED SETTINGS ]************************* ;**************************************************************************** ;**************************************************************************** ;** ;** Most setups will not require modification of Advanced Settings. ;** Standard defaults will be overridden when tokens in this category are ;** changed. Caution is advised to prevent any unexpected side-effects. ;** ;** The following list summarizes the Advanced Settings available: ;** - External library: specify a fully-qualified external library filename

Page 91: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial ;** - Oracle: enable full syntax checking during precompile ;** - MS SQL Server database: create an access module (stored procedure) ;** GUI Application settings ;** - Bitmaps: specify the directory for application *.BMP file resources ;** - rebuild DBMS stub: DBMS version upgrade of libs may require new stub ;** - DLL: build application DLL so action blocks are in a separate DLL ;** ;**************************************************************************** ;---------------------------------------------------------------------------- ; The following option specifies the fully qualified external library. ; Remove the comment below to specify the external library if appropriate. ;---------------------------------------------------------------------------- LOC.EXTERNAL_LIB ; ===============( GUI Applications Advanced Settings )=================== ;---------------------------------------------------------------------------- ; An IEF_BITMAP environment variable will provide the bitmap directory. ; If there is no IEF_BITMAP environment variable, the following token, ; OPT.IEF_BITMAP, is used. If OPT.IEF_BITMAP is not enabled (by default), ; then ..\BITMAP subdirectory existence is checked for use as the IEF_BITMAP ; environment variable; otherwise, the module's source directory is used. ; ; Remove the comment from an example below to enable OPT.IEF_BITMAP directory ; Below, in Ex. one, all bitmaps are found in a user-specified directory ; (eg: this may be desirable if bitmaps are shared across network drives). ; In Ex. 2, all local and remote bitmaps are defined to always be processed ; in the source directory (where the module's ICM or RMT file(s) resides. ;---------------------------------------------------------------------------- ; OPT.IEF_BITMAP z:\model\win\bitmaps ;---------------------------------------------------------------------------- ; NOTE: GUI applications require DBMS specific startup files (stubs). ; The following begin token definitions for each target DBMS specific ; stub as well as token definitions for how the stub is handled ; during the build process. ; Below is the token definition for building any stub. If OPT.BUILD_SRC is ; set to YES, the build process will copy the DBMS specific stub source to the ; build directory and precompile, compile, and link the stub during the build ; process. Otherwise, the DBMS specific stub executable will be copied into ; the build directory and renamed to {Loadmodule}.EXE. If this option is set ; to yes, the generated window manager resource file is also bound with the ; {Loadmodule}.EXE to provide the executable with the application icons. ; Valid values are [YES | NO]. ;---------------------------------------------------------------------------- ; OPT.BUILD_SRC YES ;---------------------------------------------------------------------------- ; Below is the token definition for build separate Action Block DLLs. If ; OPT.BUILD_AB is set to YES, the build process will separate all action blocks ; from the {LoadModule}.DLL and create a A_{LoadModule}.DLL that is linked ; to the {LoadModule}.DLL. If size of a DLL is at issue, this option can be ; set to YES to reduce the size of the Load Module. Valid values [YES | NO] ;---------------------------------------------------------------------------- ; OPT.BUILD_AB NO ;---------------------------------------------------------------------------- ; Below is the token definition for building help project files for the ; application's help. If OPT.HELPCOMPILER is set to HCRTF, then the MSDEV 6.x ; help compiler is selected. If OPT.HELPCOMPILER is set to HCW, then MSDEV 4.x ; help compiler is selected. If OPT.HELPCOMPILER is set to HC31 then MSVC 1.5 ; help compiler is selected. If the MSVC 1.5 product is not installed copy ; hc31.exe from the MSVC 1.5 cd-rom, directory msvc/bin to a directory in your ; path. The MSDEV 4.x help compiler will fail to compile generated help for ; some GUI applications; the MSVC 1.5 help compiler successfully compiles these ; files. If this token is commented out, then there will be no help compila- ; tion. Valid values [HCRTF | HCW | HC31] ;----------------------------------------------------------------------------

2002 ActiveDevelopment Group, Inc. 91

Page 92: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

; or

; MSVC 6.0 ;OPT.HELPCOMPILER HCRTF ; MSVC 4.0 ; OPT.HELPCOMPILER HCW

; OPT.HELPCOMPILER HC31 ; ===============( DBMS-dependent DDL/Bindfile Generation )=============== ;---------------------------------------------------------------------------- ; Oracle supports full syntax checking during the precompile cycle. This ; requires DDL to be generated against the DBMS prior to the build cycle and ; connection to the DBMS be available during the build cycle. If full syntax ; checking is desired, the OPT.SQLACCESS token definition should be set to ; YES, the OPT.DBCONNECT token definition above should describe the correct ; connect string, and the OPT.DSUSER and OPT.DSPSWD token definitions above ; should be set to the correct userid/password neede to syntax check against ; the DBMS. If full syntax checking is not desired (Default) then the ; OPT.SQLACCESS token definition should be set to NO. ; Valid values are [YES | NO] ;---------------------------------------------------------------------------- ; OPT.SQLACCESS NO ;---------------------------------------------------------------------------- ; To create an access module (stored procedure) on a MS SQL Server database, ; uncomment the OPT.SQLACCESS option line above. To specify a non-local ; server, set the OPT.DBCONNECT option line to a server name. ; In addition, to create a bind file, uncomment the OPT.BIND option line. ;---------------------------------------------------------------------------- ; OPT.BIND Y ;---------------------------------------------------------------------------- ; To force the Build Tool to build GUI applications as if it contains ; embedded SQL even tough the generated code does not, uncomment this token ; and set the value to YES. Valid values are [YES | NO] ;---------------------------------------------------------------------------- OPT.HAS_SQL YES ;***********[ DEFAULT MIDDLEWARE-DEPENDENT IMPLEMENTATION TOKENS ]********* ; ;-=-=-=-=-=-=-=-=- MQSeries target Middleware -==--=--=-=-=-=-= ;----------------------------------------------------- ; default LIB path for linking ;----------------------------------------------------- LOC.MQSLIB C:\MQM\TOOLS\LIB ;-=-=-=-=-=-=-=-=- DCE target Middleware -==--=--=-=-=-=-= ;----------------------------------------------------- ; Default DCE implementation ; Supported values are IBM and GRADIENT ;----------------------------------------------------- LOC.DCEPROD GRADIENT ;***************[ DEFAULT DBMS-DEPENDENT IMPLEMENTATION TOKENS ]************* ; ==========================( DBMS Settings )============================= ; NOTE: Each DBMS has specific token definitions. If a particular DBMS is ; not used, the token definitions for that DBMS do not need to be set ; or removed. For example, if Oracle is the only target DBMS that will ; be used for generation, there is no reason to set token definitions ; for any other DBMS; removal of these unused tokens is not necessary. ;=-=-=-=-=-=-=-=-=-=-=-=- MS SQL Server target DBMS -=-=-=-=-==--=--=-=-=-=-= ;-----------------------------------------------------

2002 ActiveDevelopment Group, Inc. 92

Page 93: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial ; libraries used in the link process ;----------------------------------------------------- LOC.NTS95DBLIB SQLAKW32.LIB LOC.NTS95SQLLIB CAW32.LIB ;----------------------------------------------------- ; precompiler program ;----------------------------------------------------- LOC.NTS95PCC NSQLPREP.EXE ;=-=-=-=-=-=-=-=-=-=-=-=-=-=- Oracle target DBMS -=-=-=-=-=-==--=--=-=-=-=-= ;----------------------------------------------------- ; Oracle version control for WIN95/98 ; Oracle 8.0.X is assumed for COOL:Gen 5.1. Set OPT.WINORA_8 ; to NO when targeting ORACLE 7.3.3. Set to YES when targeting ; Oracle 8.0.X. Valid entries are YES and NO. ;----------------------------------------------------- OPT.WINORA_8 YES ;----------------------------------------------------- ; libraries used in the link process ;----------------------------------------------------- ;LOC.NTORADBLIB SQLLIB80.LIB ; LOC.NTORADBLIB SQLLIB18.LIB ; Oracle 7 LOC.NTORADBLIB ORASQL8.LIB LOC.NTORASQLLIB ;----------------------------------------------------- ; precompiler program ;----------------------------------------------------- ;LOC.NTORAPCC PROC80.EXE ;LOC.NTORAPCC PROC22.EXE ; Oracle 7 LOC.NTORAPCC PROC.EXE ;----------------------------------------------------- ; default INCLUDE path for compiling ;----------------------------------------------------- ;LOC.NTORAINCLUDE C:\ORANT\PRO80\C ;LOC.NTORAINCLUDE C:\ORANT\PRO22\C ; Oracle 7 LOC.NTORAINCLUDE C:\ORANT8I\PRECOMP\PUBLIC ;----------------------------------------------------- ; default LIB path for linking ;----------------------------------------------------- ;LOC.NTORALIB C:\ORANT\PRO80\LIB\MSVC ;LOC.NTORALIB C:\ORANT\PRO22\LIB ; Oracle 7 LOC.NTORALIB C:\ORANT8I\PRECOMP\LIB\MSVC ;----------------------------------------------------- ; IRECLEN and ORECLEN options for precompiling ;----------------------------------------------------- OPT.IRECLEN 255 OPT.ORECLEN 255 ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- XDB target DBMS -=-=-=-=-=-==--=--=-=-=-=-= ;----------------------------------------------------- ; libraries used in the link process ;----------------------------------------------------- LOC.NTXDBDBLIB PREC32N.LIB LOC.NTXDBSQLLIB ;----------------------------------------------------- ; precompiler name ;----------------------------------------------------- LOC.NTXDBPCC PRECOMP.EXE ;=-=-=-=-=-=-=-=-=-=-=-=-=-=- INFORMIX target DBMS -=-=-=-=-=-==--=--=-=-=-=-

2002 ActiveDevelopment Group, Inc. 93

Page 94: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial ;----------------------------------------------------- ; libraries used in the link process ;----------------------------------------------------- LOC.NTINFDBLIB ISQLT07C.LIB LOC.NTINFSQLLIB ;----------------------------------------------------- ; precompiler name ;----------------------------------------------------- LOC.NTINFPCC ESQL.EXE ;=-=-=-=-=-=-=-=-=-=-=-=- SYBASE target DBMS -=-=-=-==--=--=-=-=-=-= ;----------------------------------------------------- ; libraries used in the link process ;----------------------------------------------------- LOC.NTSYBDBLIB LIBCT.LIB LOC.NTSYBSQLLIB LIBCS.LIB ;----------------------------------------------------- ; precompiler program ;----------------------------------------------------- LOC.NTSYBPCC CPRE.EXE ;----------------------------------------------------- ; default INCLUDE path for compiling ;----------------------------------------------------- LOC.NTSYBINCLUDE C:\SYBASE\INCLUDE ;----------------------------------------------------- ; default LIB path for linking ;----------------------------------------------------- LOC.NTSYBLIB C:\SYBASE\LIB ;=-=-=-=-=-=-=-=-=-=-=-=- DB2/2 target DBMS -=-=-=-==--=--=-=-=-=-= ;----------------------------------------------------- ; libraries used in the link process ;----------------------------------------------------- LOC.NTDB2DBLIB DB2API.LIB LOC.NTDB2SQLLIB ;----------------------------------------------------- ; precompiler program ;----------------------------------------------------- LOC.NTDB2PCC TIDB2PRP.EXE ;----------------------------------------------------- ; default INCLUDE path for compiling ;----------------------------------------------------- LOC.NTDB2INCLUDE C:\PROGRAM FILES\SQLLIB\INCLUDE ;----------------------------------------------------- ; default LIB path for linking ;----------------------------------------------------- LOC.NTDB2LIB C:\PROGRAM FILES\SQLLIB\LIB ;=-=-=-=-=-=-=-=-=-=-=-=- ODBC target DBMS -=-=-=-==--=--=-=-=-=-= ;----------------------------------------------------- ; libraries used in the link process ;----------------------------------------------------- LOC.NTODBCDBLIB ODBC32.LIB LOC.NTODBCSQLLIB TIODBC.LIB ;----------------------------------------------------- ; default INCLUDE path for compiling ;----------------------------------------------------- ;LOC.NTODBCINCLUDE ;----------------------------------------------------- ; default LIB path for linking

2002 ActiveDevelopment Group, Inc. 94

Page 95: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial ;----------------------------------------------------- ;LOC.NTODBCLIB ;------------------------------------------------------ ; Block mode load modules running in aefad/aefcn ; To build a block mode load module in a format which ; allows it to be invoked via aefad/aefcn, uncomment ; the OPT.TE token set to AEFAD. ;------------------------------------------------------ ; OPT.TE AEFAD ;*****************************[ CBD OPTIONS ]*************************** ;------------------------------------------------------ ; For component consumption, uncomment the following ; token and set it to the name of a text file ; which lists component LIBS to use at link time. ;------------------------------------------------------ OPT.CBDLIST C:\C5MODELS\LIBS.TXT ;OPT.IEFLINK /VERBOSE:LIB ;*****************************[ PROXY OPTIONS ]*************************** ;=-=-=-=-=-=-=-=-=-=-=-=- Java Proxy -=-=-=-==--=--=-=-=-=-= ;------------------------------------------------------ ; Normally, the generated jar files for the Java proxy contain ; the COOL:Gen runtime within them. To have the jar files ; built with only the generated code, uncomment the following ; token and set its value to NO. Valid values are [YES | NO] ;------------------------------------------------------ ;OPT.JARRUNTIME YES ;------------------------------------------------------ ; By default, COOL:Gen will build the appropriate jar files ; for the Abean and Applet/Servlet combinations. To only build ; a specific one, uncomment out the undesired one and set its ; value to NO. Valid values are [YES | NO] ;------------------------------------------------------ ;OPT.BUILDABEAN YES ;OPT.BUILDSERVLET YES ;------------------------------------------------------ ; When building the Applet/Servlet combination of the Java ; proxy, the location of the javax.servlet.* classes must be ; specified. The actual classes may be provided from a variety ; 3rd party vendors. You may specify a directory or a jar file ; where the classes are located. Uncomment the following ; token and set its value to the location of the class files. ;------------------------------------------------------ ;LOC.SERVLETCLASSES ;------------------------------------------------------ ; When building an eBusiness application, you can set the following ; LOC tokens to indicate the location where you want ; particular files to be copied when a successful build has ; occurred. ;------------------------------------------------------ ; Local webserver directory to which the DLL will be copied. ; This directory is from the perspective of the webserver machine. ;LOC.LOCAL_DLLDIR ; ; Webserver directory to which the DLL will be copied. ; This directory is from the perspective of the build machine. ;LOC.DLLDIR ; ; Webserver directory to which the contents of the html directory will be ; copied. ; This directory is from the perspective of the build machine. ;LOC.WEBSRVRDOC ; ; Webserver directory to which the servlet files will be copied.

2002 ActiveDevelopment Group, Inc. 95

Page 96: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial ; This directory is from the perspective of the build machine. ;LOC.SERVLETDIR End win32itm.tgt file listing…

2002 ActiveDevelopment Group, Inc. 96

Page 97: Advantage Gen Client Server Development Tutorial

2002 ActiveDevelopment Group, Inc.

Appendix E – Client Dialog Flows Report

Origin Destination Flows on Returns on

Data Sent Data Returned Behavior

NOBEL_MENU LAUREATES_CLT LINK_TO_LAUREATES_CLT RETURN None None Execute no command, return no command

NOBEL_MENU PRIZE_CATEGORY_CLT LINK_TO_PRIZE_CATEGORY_CLT RETURN None None Execute no command, return no command

NOBEL_MENU PRIZE_CLT LINK_TO_PRIZE_CLT RETURN None None Execute no command, return no command

PRIZE_CATEGORY_CLT LAUREATES_CLT LINK_TO_LAUREATES_CLT RETURN View OUT_SELECTED of entity INOB1_PRIZE_CATEGORY to View IN_FILTER of entity INOB1_PRIZE_CATEGORY

None Execute no command, return no command

PRIZE_CATEGORY_CLT PRIZE_CLT LINK_TO_PRIZE_CLT RETURN View OUT_SELECTED of entity INOB1_PRIZE_CATEGORY to View IN_FILTER of entity INOB1_PRIZE_CATEGORY

None Execute no command, return no command

PRIZE_CLT PRIZE_CATEGORY_CLT LINK_PRZ_CAT_FOR_FILTER_VALUE

RETURN View OUT_SELECT_CATEGORYof work group IEF_SUPPLIED to View IN_SELECTION_AVAILABLE of work group IEF_SUPPLIED

View IN_FILTER of entity INOB1_PRIZE_CATEGORY from View OUT_SELECTED of entity INOB1_PRIZE_CATEGORY

Execute no command, return with command RETURN

LAUREATES_CLT PRIZE_CATEGORY_CLT LINK_PRZ_CAT_FOR_FILTER_VALUE

RETURN View OUT_SELECT_CATEGORYof work group IEF_SUPPLIED to View IN_SELECTION_AVAILABLE of work group IEF_SUPPLIED

View IN_FILTER of entity INOB1_PRIZE_CATEGORY from View OUT_SELECTED of entity INOB1_PRIZE_CATEGORY

Execute no command, return no command

LAUREATES_CLT PRIZE_CLT LINK_TO_PRIZE_CLT RETURN View OUT_SELECTED of entity INOB1_LAUREATE to View IN_FILTER of entity INOB1_LAUREATE

None Execute no command, return no command

LAUREATES_CLT RESOURCE_LINKS_CLT LINK_TO_RESOURCE_LINKS_CLT RETURN View OUT_SELECTED of entity INOB1_LAUREATE to View IN_FILTER of entity INOB1_LAUREATE

None Execute no command, return no command

PRIZE_CLT PRIZE_CATEGORY_CLT LINK_PRZ_CAT_FOR_INPUT_VALUE RETURN View OUT_SELECT_CATEGORYof work group IEF_SUPPLIED to View IN_SELECTION_AVAILABLE of work group IEF_SUPPLIED

View IN_SELECTED of entity INOB1_PRIZE_CATEGORY from View OUT_SELECTED of entity INOB1_PRIZE_CATEGORY

Execute no command, return with command RETURN

PRIZE_CLT LAUREATES_CLT LINK_TO_LAUREATES_CLT RETURN View OUT_SELECTED of entity INOB1_PRIZE_CATEGORY to View IN_FILTER of entity INOB1_PRIZE_CATEGORY View OUT_SELECTED of entity INOB1_PRIZE to View IN_FILTER of entity INOB1_PRIZE

None Execute no command, return no command

PRIZE_CLT LAUREATES_CLT LINK_TO_LAUREATE_FOR_SELECTION

RETURN View OUT_SELECT_LAUREATE of work group IEF_SUPPLIED to View IN_SELECT_AVAILABLE of work group IEF_SUPPLIED

Data returned to View IN_FILTER of entity INOB1_LAUREATE from View OUT_SELECTED of entity INOB1_LAUREATE

Execute no command, return with command RETURN

PRIZE_CLT PRIZE_ASSIGNMENT_CLT

LINK_TO_PRIZE_ASSIGNMENT_CLT RETURN View OUT_SELECTED of entity INOB1_PRIZE to View IN of entity INOB1_PRIZE

View IN_SELECTED of entity INOB1_PRIZE_CATEGORY from View OUT of entity INOB1_PRIZE_CATEGORY

Execute no command, return with command RTNASSGN

Page 98: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

Origin Destination Flows on Returns Data Sent Data Returned Behavior on

View OUT_SELECTED of entity INOB1_PRIZE_CATEGORY to View IN of entity INOB1_PRIZE_CATEGORY View OUT_SELECTED of entity INOB1_LAUREATE to View IN of entity INOB1_LAUREATE

View IN_SELECTED of entity INOB1_PRIZE from View OUT of entity INOB1_PRIZE

PRIZE_ASSIGNMENT_CLT LAUREATES_CLT LINK_TO_LAUREATES_CLT RETURN View OUT_SELECT_LAUREATE of work group IEF_SUPPLIED to View IN_SELECT_AVAILABLE of work group IEF_SUPPLIED

View IN of entity INOB1_LAUREATE from View OUT_SELECTED of entity INOB1_LAUREATE

Execute no command, return no command

RESOURCE_LINKS_CLT LAUREATES_CLT LINK_TO_LAUREATES_CLT RETURN View OUT_SELECT_LAUREATE of work group IEF_SUPPLIED to View IN_SELECT_AVAILABLE of work group IEF_SUPPLIED

View IN_FILTER of entity INOB1_LAUREATE from View OUT_SELECTED of entity INOB1_LAUREATE

Execute no command, return with command RETURN

2002 ActiveDevelopment Group, Inc. 98

Page 99: Advantage Gen Client Server Development Tutorial
Page 100: Advantage Gen Client Server Development Tutorial

Appendix F – Work Sets Work Set Attribute Category Domain Length Optional Var.

LengthCase

SensitiveDecimal Places

INOB1_NUMERIC_ATTRIBUTES ID Basic Numeric 1 No N/A N/A 0 INOB1_TEXT_ATTRIBUTES TEXT_80 Basic Text 80 No Yes Yes N/A

2002 ActiveDevelopment Group, Inc.

Page 101: Advantage Gen Client Server Development Tutorial

Appendix G – Commands Command

ASSIGN CONFIRM CREATE DELETE DISPLAY ENTER EXIT INVALID LAUREATE LAURSLCT LIST NEXT PREV PRIZE PROTECT PRZCATS RESOURCE RETURN SELECT UNASSIGN UPDATE

2002 ActiveDevelopment Group, Inc.

Page 102: Advantage Gen Client Server Development Tutorial

Appendix H – Server Procedure Source Code

SNOB1011_PRIZE_CAT_CREATE ___________________________________________________________________________ +- SNOB1011_PRIZE_CAT_CREATE | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1011_prize_category_create_s | WHICH IMPORTS: Spec View in inob1_prize_category TO Spec View in inob1_prize_category | WHICH EXPORTS: Spec View out inob1_prize_category FROM Spec View out inob1_prize_category | Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

SNOB1021_PRIZE_CAT_READ_NAME ___________________________________________________________________________ +- SNOB1021_PRIZE_CAT_READ_NAME | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1021_prize_cat_read_name_s | WHICH IMPORTS: Spec View in inob1_prize_category TO Spec View in inob1_prize_category | WHICH EXPORTS: Spec View out inob1_prize_category FROM Spec View out inob1_prize_category | Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

2002 ActiveDevelopment Group, Inc.

Page 103: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

SNOB1031_PRIZE_CAT_UPDATE ___________________________________________________________________________ +- SNOB1031_PRIZE_CAT_UPDATE | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1031_prize_cat_update_s | WHICH IMPORTS: Spec View in inob1_prize_category TO Spec View in inob1_prize_category | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

2002 ActiveDevelopment Group, Inc. 103

Page 104: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

SNOB1041_PRIZE_CAT_DELETE ___________________________________________________________________________ +- SNOB1041_PRIZE_CAT_DELETE | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1041_prize_cat_delete_s | WHICH IMPORTS: Spec View in inob1_prize_category TO Spec View in inob1_prize_category | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

SNOB1051_PRIZE_CAT_READ_ID ___________________________________________________________________________ +- SNOB1051_PRIZE_CAT_READ_ID | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1051_prize_cat_read_id_s | WHICH IMPORTS: Spec View in inob1_prize_category TO Spec View in inob1_prize_category | WHICH EXPORTS: Spec View out inob1_prize_category FROM Spec View out inob1_prize_category | Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

2002 ActiveDevelopment Group, Inc. 104

Page 105: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

SNOB1061_PRIZE_CAT_LIST_NAME ___________________________________________________________________________ +- SNOB1061_PRIZE_CAT_LIST_NAME | IMPORTS: | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1061_prize_cat_list_name_s | WHICH EXPORTS: Group View out_group FROM Group View out_group | Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

2002 ActiveDevelopment Group, Inc. 105

Page 106: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

SNOB1071_PRIZE_CREATE ___________________________________________________________________________ +- SNOB1071_PRIZE_CREATE | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1071_prize_create_s | WHICH IMPORTS: Spec View in inob1_prize_category TO Spec View in inob1_prize_category | Spec View in inob1_prize TO Spec View in inob1_prize | WHICH EXPORTS: Spec View out inob1_prize FROM Spec View out inob1_prize | Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

SNOB1081_PRIZE_READ_BY_ID ___________________________________________________________________________ +- SNOB1081_PRIZE_READ_BY_ID | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1081_prize_read_by_id_s | WHICH IMPORTS: Spec View in inob1_prize TO Spec View in inob1_prize | WHICH EXPORTS: Spec View out inob1_prize_category FROM Spec View out inob1_prize_category | Spec View out inob1_prize FROM Spec View out inob1_prize | Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

2002 ActiveDevelopment Group, Inc. 106

Page 107: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

SNOB1091_PRIZE_UPDATE ___________________________________________________________________________ +- SNOB1091_PRIZE_UPDATE | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1091_prize_update_s | WHICH IMPORTS: Spec View in inob1_prize_category TO Spec View in inob1_prize_category | Spec View in inob1_prize TO Spec View in inob1_prize | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

2002 ActiveDevelopment Group, Inc. 107

Page 108: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

SNOB1101_PRIZE_DELETE ___________________________________________________________________________ +- SNOB1101_PRIZE_DELETE | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1101_prize_delete_s | WHICH IMPORTS: Spec View in inob1_prize TO Spec View in inob1_prize | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

SNOB1111_PRIZE_LIST ___________________________________________________________________________ +- SNOB1111_PRIZE_LIST | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1111_prize_list_s | WHICH IMPORTS: Spec View in inob1_laureate TO Spec View in inob1_laureate | Spec View in inob1_prize_category TO Spec View in inob1_prize_category | WHICH EXPORTS: Group View out_group FROM Group View out_group | Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

2002 ActiveDevelopment Group, Inc. 108

Page 109: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

SNOB1121_LAUREATE_CREATE ___________________________________________________________________________ +- SNOB1121_LAUREATE_CREATE | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1121_laureate_create_s | WHICH IMPORTS: Spec View in inob1_laureate TO Spec View in inob1_laureate | WHICH EXPORTS: Spec View out inob1_laureate FROM Spec View out inob1_laureate | Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

2002 ActiveDevelopment Group, Inc. 109

Page 110: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

SNOB1131_LAUREATE_READ_BY_ID ___________________________________________________________________________ +- SNOB1131_LAUREATE_READ_BY_ID | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1131_laureate_read_by_id_s | WHICH IMPORTS: Spec View in inob1_laureate TO Spec View in inob1_laureate | WHICH EXPORTS: Spec View out inob1_laureate FROM Spec View out inob1_laureate | Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

SNOB1141_LAUREATE_UPDATE ___________________________________________________________________________ +- SNOB1141_LAUREATE_UPDATE | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1141_laureate_update_s | WHICH IMPORTS: Spec View in inob1_laureate TO Spec View in inob1_laureate | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

2002 ActiveDevelopment Group, Inc. 110

Page 111: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

SNOB1151_LAUREATE_DELETE ___________________________________________________________________________ +- SNOB1151_LAUREATE_DELETE | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1151_laureate_delete_s | WHICH IMPORTS: Spec View in inob1_laureate TO Spec View in inob1_laureate | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

2002 ActiveDevelopment Group, Inc. 111

Page 112: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

SNOB1161_LAUREATE_LIST_NAME ___________________________________________________________________________ +- SNOB1161_LAUREATE_LIST_NAME | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1161_laureate_list_name_s | WHICH IMPORTS: Spec View in inob1_prize_category TO Spec View in inob1_prize_category | Spec View in inob1_prize TO Spec View in inob1_prize | WHICH EXPORTS: Group View out_group FROM Group View out_group | Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

SNOB1171_RES_LINK_CREATE ___________________________________________________________________________ +- SNOB1171_RES_LINK_CREATE | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1171_res_link_create_s | WHICH IMPORTS: Spec View in inob1_laureate TO Spec View in inob1_laureate | Spec View in inob1_resource_link TO Spec View in inob1_resource_link | WHICH EXPORTS: Spec View out inob1_resource_link FROM Spec View out inob1_resource_link | Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

2002 ActiveDevelopment Group, Inc. 112

Page 113: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

SNOB1181_RES_LINK_READ ___________________________________________________________________________ +- SNOB1181_RES_LINK_READ | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1181_res_link_read_s | WHICH IMPORTS: Spec View in inob1_resource_link TO Spec View in inob1_resource_link | WHICH EXPORTS: Spec View out inob1_resource_link FROM Spec View out inob1_resource_link | Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

2002 ActiveDevelopment Group, Inc. 113

Page 114: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

SNOB1191_RES_LINK_UPDATE ___________________________________________________________________________ +- SNOB1191_RES_LINK_UPDATE | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1191_res_link_update_s | WHICH IMPORTS: Spec View in inob1_resource_link TO Spec View in inob1_resource_link | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

SNOB1201_RES_LINK_DELETE ___________________________________________________________________________ +- SNOB1201_RES_LINK_DELETE | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1201_res_link_delete_s | WHICH IMPORTS: Spec View in inob1_resource_link TO Spec View in inob1_resource_link | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

SNOB1211_RES_LINK_LIST ___________________________________________________________________________

2002 ActiveDevelopment Group, Inc. 114

Page 115: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

+- SNOB1211_RES_LINK_LIST | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1211_res_link_list_s | WHICH IMPORTS: Spec View in inob1_laureate TO Spec View in inob1_laureate | WHICH EXPORTS: Group View out_group FROM Group View out_group | Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

2002 ActiveDevelopment Group, Inc. 115

Page 116: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

SNOB1221_AWARD_PRES_CREATE ___________________________________________________________________________ +- SNOB1221_AWARD_PRES_CREATE | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1221_award_pres_create_s | WHICH IMPORTS: Spec View in inob1_award_presentation TO Spec View in inob1_award_presentation | Spec View in inob1_laureate TO Spec View in inob1_laureate | Spec View in inob1_prize TO Spec View in inob1_prize | WHICH EXPORTS: Spec View out inob1_award_presentation FROM Spec View out inob1_award_presentation | Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

SNOB1231_AWARD_PRES_READ_ID ___________________________________________________________________________ +- SNOB1231_AWARD_PRES_READ_ID | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1231_award_pres_read_id_s | WHICH IMPORTS: Spec View in inob1_award_presentation TO Spec View in inob1_award_presentation | WHICH EXPORTS: Spec View out inob1_award_presentation FROM Spec View out inob1_award_presentation | Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

2002 ActiveDevelopment Group, Inc. 116

Page 117: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

SNOB1241_AWARD_PRES_UPDATE ___________________________________________________________________________ +- SNOB1241_AWARD_PRES_UPDATE | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1241_award_pres_update_s | WHICH IMPORTS: Spec View in inob1_laureate TO Spec View in inob1_laureate | Spec View in inob1_award_presentation TO Spec View in inob1_award_presentation | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

2002 ActiveDevelopment Group, Inc. 117

Page 118: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

SNOB1251_AWARD_PRES_DELETE ___________________________________________________________________________ +- SNOB1251_AWARD_PRES_DELETE | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1251_award_pres_delete_s | WHICH IMPORTS: Spec View in inob1_award_presentation TO Spec View in inob1_award_presentation | WHICH EXPORTS: Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

SNOB1261_LAUREATE_LNM_FNM_READ ___________________________________________________________________________ +- SNOB1261_LAUREATE_LNM_FNM_READ | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1261_laureate_lnm_fnm_read_s | WHICH IMPORTS: Spec View in_qualifier inob1_laureate TO Spec View in_qualifier inob1_laureate | WHICH EXPORTS: Spec View out inob1_laureate FROM Spec View out inob1_laureate | Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

2002 ActiveDevelopment Group, Inc. 118

Page 119: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

SNOB1271_AWD_PRS_READ_PRZ_LAUR ___________________________________________________________________________ +- SNOB1271_AWD_PRS_READ_PRZ_LAUR | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1271_awd_prs_read_prz_laur_s | WHICH IMPORTS: Spec View in inob1_laureate TO Spec View in inob1_laureate | Spec View in inob1_prize TO Spec View in inob1_prize | WHICH EXPORTS: Spec View out inob1_award_presentation FROM Spec View out inob1_award_presentation | Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

2002 ActiveDevelopment Group, Inc. 119

Page 120: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

SNOB1281_AWD_PRES_LIST_PRZ_YR ___________________________________________________________________________ +- SNOB1281_AWD_PRES_LIST_PRZ_YR | IMPORTS: ... | EXPORTS: ... | LOCALS: | ENTITY ACTIONS: | | USE inob1281_awd_pres_list_prz_yr_s | WHICH IMPORTS: Spec View in_filter inob1_prize_category TO Spec View in_filter inob1_prize_category | Spec View in_filter inob1_prize TO Spec View in_filter inob1_prize | Spec View in_filter inob1_laureate TO Spec View in_filter inob1_laureate | WHICH EXPORTS: Group View out_group FROM Group View out_group | Spec View out inob1_standard_parms FROM Spec View out inob1_standard_parms | | +- IF out inob1_standard_parms rollback_indicator IS EQUAL TO "Y" | | EXIT STATE IS rollback WITH ROLLBACK | +-- +--

2002 ActiveDevelopment Group, Inc. 120

Page 121: Advantage Gen Client Server Development Tutorial

2002 ActiveDevelopment Group, Inc.

Appendix I – Client Procedure Views

NOBEL_MENU

PRIZE_CATEGORY_CLT

Page 122: Advantage Gen Client Server Development Tutorial

2002 ActiveDevelopment Group, Inc.

PRIZE_CLT

Page 123: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

2002 ActiveDevelopment Group, Inc. 123

Page 124: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

2002 ActiveDevelopment Group, Inc. 124

Page 125: Advantage Gen Client Server Development Tutorial

2002 ActiveDevelopment Group, Inc.

PRIZE_ASSIGNMENT_CLT

Page 126: Advantage Gen Client Server Development Tutorial

2002 ActiveDevelopment Group, Inc.

LAUREATE_CLT

Page 127: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

2002 ActiveDevelopment Group, Inc. 127

Page 128: Advantage Gen Client Server Development Tutorial

2002 ActiveDevelopment Group, Inc.

RESOURCE_LINKS_CLT

Page 129: Advantage Gen Client Server Development Tutorial

2002 ActiveDevelopment Group, Inc.

Appendix J – GUI Window Graphics

NOBEL_MENU

Page 130: Advantage Gen Client Server Development Tutorial

2002 ActiveDevelopment Group, Inc.

PRIZE_CATEGORY_CLT

Page 131: Advantage Gen Client Server Development Tutorial

2002 ActiveDevelopment Group, Inc.

PRIZE_CLT

Page 132: Advantage Gen Client Server Development Tutorial

Advantage Gen Client/Server Development Tutorial

2002 ActiveDevelopment Group, Inc. 132

Page 133: Advantage Gen Client Server Development Tutorial

2002 ActiveDevelopment Group, Inc.

PRIZE_ASSIGNMENT_CLT

Page 134: Advantage Gen Client Server Development Tutorial

2002 ActiveDevelopment Group, Inc.

LAUREATES_CLT

Page 135: Advantage Gen Client Server Development Tutorial

RESOURCE_LINKS_CLT

2002 ActiveDevelopment Group, Inc.