- The PUG Challenge - Brynjar Hasle, Chemistry as www.chemistry.no Geir O. Olsen, THInc Consulting as.

Slides:



Advertisements
Similar presentations
Microsoft Office 2007 Access Chapter 3 Maintaining a Database.
Advertisements

Chapter 5 Multitable Forms
Advanced Microsoft Word Hosted by Jared Hoffman Topics Keyboard Shortcuts Customizing Toolbars and Menus Auto Format & Auto Correct Tabs Inserting Pictures.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
Chapter 1 Databases and Database Objects: An Introduction
Integrating Access with the Web and with Other Programs.
Creating Custom Forms. 2 Design and create a custom form You can create a custom form by modifying an existing form or creating a new form. Either way,
Chapter 12: ADO.NET and ASP.NET Programming with Microsoft Visual Basic.NET, Second Edition.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
Introduction To Form Builder
Database Updates Made Easy In WebFocus Using SQL And HTML Painter Sept 2011 Lender Processing Services 1.
Chapter 2 Querying a Database
Overview What is SQL Server? Creating databases Administration Security Backup.
Microsoft Visual Basic 2005 CHAPTER 8 Using Procedures and Exception Handling.
Chapter 3 Maintaining a Database
8 Copyright © 2004, Oracle. All rights reserved. Creating LOVs and Editors.
Unit J: Creating a Database Microsoft Office Illustrated Fundamentals.
Lesson 28: Exploring Access Learning Objectives After studying this lesson, you will be able to:  Define database and key terms associated with.
With Microsoft Office 2007 Intermediate© 2008 Pearson Prentice Hall1 PowerPoint Presentation to Accompany GO! with Microsoft ® Office 2007 Intermediate.
With Microsoft Access 2007 Volume 1© 2008 Pearson Prentice Hall1 PowerPoint Presentation to Accompany GO! with Microsoft ® Access 2007 Volume 1 Chapter.
Chapter 2 Querying a Database MICROSOFT ACCESS 2010.
Microsoft Visual Basic 2012 Using Procedures and Exception Handling CHAPTER SEVEN.
XP New Perspectives on Microsoft Access 2002 Tutorial 51 Microsoft Access 2002 Tutorial 5 – Enhancing a Table’s Design, and Creating Advanced Queries and.
Copyright © 2001 by Wiley. All rights reserved. Chapter 10: Advanced Database Operations Revising Vintage Videos Setting RecordSource at run time DBGrid.
Chapter 1 Databases and Database Objects: An Introduction
First Screen : First window form will always remain open, for the user to select menu options. 1.
CSCI 6962: Server-side Design and Programming Support Classes and Shopping Carts.
10-1 aslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhf.
Creating a Web Site to Gather Data and Conduct Research.
Microsoft Access Get a green book. Page AC 2 Define Access Define database.
Office 2003 Advanced Concepts and Techniques M i c r o s o f t Access Project 5 Enhancing Forms with OLE Fields, Hyperlinks, and Subforms.
Tom Castiglia Hershey Technologies
Tutorial 111 The Visual Studio.NET Environment The major differences between Visual Basic 6.0 and Visual Basic.NET are the latter’s support for true object-oriented.
White Star Software Exchange 2005 – DEV-15 DEV-15 All Dynamic Applications John Campbell White Star Software.
Application Fundamentals Microsoft Dynamics TM AX 4.0 Michael Fruergaard Pontoppidan Partner Productivity – Microsoft Dynamics AX TM Microsoft Corporation.
Tutorial 7 Creating Forms. Objectives Session 7.1 – Create an HTML form – Insert fields for text – Add labels for form elements – Create radio buttons.
Going Mobile with OpenEdge ® Basics Paul Guggenheim Paul Guggenheim & Associates.
Office 2003 Advanced Concepts and Techniques M i c r o s o f t Access Project 5 Enhancing Forms with OLE Fields, Hyperlinks, and Subforms.
MS-ACCESS BY SANGEETHA PARTHASARATHY Topics to be covered §Comparing Values in Selection Criteria §Calculating Values in a Query §Changing the appearance.
PowerBuilder Online Courses - by Prasad Bodepudi
CIS 338: Using Queries in Access as a RecordSource Dr. Ralph D. Westfall May, 2011.
Caching Chapter 12. Caching For high-performance apps Caching: storing frequently-used items in memory –Accessed more quickly Cached Web Form bypasses:
Analyzing Data Using Access. Creating a new database To create a new database 1.Start Access. In the Task Pane, click Blank Database. 2.The File New Database.
MS Access 2007 Management Information Systems 1. Overview 2  What is MS Access?  Access Terminology  Access Window  Database Window  Create New Database.
 Agenda 2/20/13 o Review quiz, answer questions o Review database design exercises from 2/13 o Create relationships through “Lookup tables” o Discuss.
Microsoft Office 2007 Access Chapter 3 Maintaining a Database.
Office Management Tools II Ms Saima Gul. Office Management Tools II Ms Saima Gul.
1 Database Design and Development: A Visual Approach © 2006 Prentice Hall Chapter 8 DATABASE DESIGN AND DEVELOPMENT: A VISUAL APPROACH Chapter 8 Creating.
© 2008 The McGraw-Hill Companies, Inc. All rights reserved. WORD 2007 M I C R O S O F T ® THE PROFESSIONAL APPROACH S E R I E S Lesson 15 Advanced Tables.
Microsoft Access 2000 Presentation 1 The Basics of Access.
® Microsoft Office 2013 Access Creating a Database.
Databases,Tables and Forms Access Text by Grauer Chapters 1 & 2.
There are seven main components of a database in Access 2000: Tables. Use tables to store database information. Forms Use forms to enter or edit the information.
DB Implementation: MS Access Forms. MS Access Forms  Purpose Data entry, editing, & viewing data in tables Forms are user-friendlier to end-users than.
CREATING A LABEL MAIL MERGE IN WORD. TERMS FIELDS RECORDS MERGE CODES.
Introduction to a Database Defining a database Database window in Access The six items in window: Tables, Queries Forms, Reports, Macros, Modules.
Visual Basic for Application - Microsoft Access 2003 Programming applications using Objects.
Page Designer Storyboard J. A. Fitzpatrick December 2004.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
IST 220 – Intro to Databases Lecture 2 Touring Microsoft Access.
PestPac Software. Leads The Leads Module allows you to track all of your pending sales for your company from the first contact to the close. By the end.
Microsoft Office 2013 Try It! Chapter 4 Storing Data in Access.
XP New Perspectives on Microsoft Office Access 2003, Second Edition- Tutorial 6 1 Microsoft Office Access 2003 Tutorial 6 – Creating Custom Forms.
Access Queries and Forms. Adding a New Field  To insert a field after you have saved your table, open Access, and open the table  It is easier to add.
Working in the Forms Developer Environment
- The PUG Challenge - Brynjar Hasle, Chemistry as
JukeBox – transparency, flexibility, speed and comfort!
– JukeBox – transparency, flexibility, speed and comfort!
– the JukeBox toolkit – transparency, flexibility, speed and comfort!
Presentation transcript:

- The PUG Challenge - Brynjar Hasle, Chemistry as Geir O. Olsen, THInc Consulting as

Case: PUG member system

Datamodel

Tools: - Dynamic 4GL constructs - 9.1d/10.0a AppServer (stateless) - Aia client on webserver - Progress 8.x - 9.1/10.0a RDBMS

Basic Elements AS_lib.p Server: Get data: - gettemptablejoin.p -getfieldlist.p -getfieldvalues.p (FIND) -gettemptable (input.p) -checkcurrentchanged.p Put data: -servertrans.p UI_lib.p z.w y.w x.w Client:

Server, get data: - gettemptablejoin.p: Input: - Buffers and fields - Query criteria - Startrow and number of rows to return Hooks for calculated fields (input.p’s for logic) Returns temp-table handle (and hence the data) - getfieldlist.p: Input: - Buffers and fields - Query criteria Returns fieldlist (f.ex to populate drop-down) -gettemptable.p (input.p, output temp-table handle)

Server, put data: - servertrans.p: Input: - Trans header and trans values Temp-table struct Dynamic FK validation Hooks for custom validation / updates Assign defaults Returns completed temp-table (option) Trans.header: -Buffer -Operation -Field list -Opt.val.proc Trans.values: - Field value list

AS_lib, main methods: - GetTempTableJoin( Input: List of buffers and fields, rows-to-batch,startrow and query criteria). Checks for appserver / client server and passes on the input parameters pluss sessionid to gettemptablejoin.p - DoCreate(Input buffer,fields and values). - DoUpdate(Input buffer,criteria,fields and values). - DoDelete(Input buffer,criteria). Populate transaction temp-tables. - DoCommit(true/false). Checks for appserver and passes transaction temp-tables to servertrans.p. True/False: receive completed buffer back

UI_lib: Implements standard events and methods. Keeps run- time state for UI objects. ”Objects” (currently): -InitBrowse(..) -InitQuery(..) -InitFieldMap(..) (browse buffer pluss add. ttObject ttObjectLinkttAttributettEvent info on input/display fields) -InitToolbar(..) -InitBrowseDropDown(..) Standard methods: DisplayRecord, SaveRecord, OpenQuery,etc.

Additional handy stuff: - ResizeLib.p - Dynamic lookup - src/adm2/dyntreeview.w (slightly altered) - from smartpak/adm2/cal.w (altered) - Microsoft OCX tab-folder -..

Coding example: Rectangles are used to represent screen objects that are created. In this example a toolbar and a browser. All relevant code for this simple window is in one procedure, InitWindow. Only the libraries (AS,UI and Resize are supporting this.w file – no includes).

Procedure InitWindow: DO WITH FRAME {&FRAME-NAME}: hBrowse = DYNAMIC-FUNCTION("initBrowse", /* Create a browse object (New!) */ rectBrowse:HANDLE, /* Rectangle to define coordinates for browse */ 100, /* Rows to batch */ "", /* Browse properties, ie MULTIPLE,NUM-LOCKED-COLUMNS, etc */ "pccMemberShipType;MemberShipTypeName;MemberShipTypeCost", /* Buffers and fields: ; ;.., ;.. No fields gives all*/ "WHERE iCompanyId = " + STRING(DYNAMIC-FUNCTION("getCompanyId")), ""). /* Misc - for something I might need in next version.. */ hFieldMap = DYNAMIC-FUNCTION("InitFieldMap", /* A fieldmap object holds extra info for display and input fields (fill-ins) and their corresponding buffer columns return handle equals the buffer handle */ hBrowse:QUERY, FRAME {&FRAME-NAME}:HANDLE, /* Frame for the input/display fields (might not be the same frame as the browse) */ "MemberShipTypeName,MemberShipTypeCost", /* Update columns in buffer */ "MemberShipTypeName,MemberShipTypeCost", /* Corresponding input fields (fill-in..)*/ "","", /* Additional buffer and displ.fields - not updateable*/ ""). /* Additional input fields (not in buffer) */ /* Assign foreign key values (not selected by the user): */ DYNAMIC-FUNCTION("setAttribute",hFieldMap,"bufferextrafields","iCompanyId"). DYNAMIC-FUNCTION("setAttribute",hFieldMap,"bufferextravalues",STRING(DYNAMIC-FUNCTION("getCompanyId"))). DYNAMIC-FUNCTION("InitToolBar", rectTBfile:HANDLE, /* Rectangle to define coordinates for toolbar */ "Fil", /* Corresponding menu label - no menu if blank */ "new;Ny,undo;Angre,delete;Slett,save;Lagre,excel;Eksporter til Excel", /* Buttons / Menu items: action;label;tooltip;Method;image,action;label.. Any number of properties accepted (one ok - if predef. action) */ "maxborder"). /* View and expand border rectangle to span frame */ DYNAMIC-FUNCTION("LinkAllObjects", /* Link all created objects. Linktype is type of "to" object, f.ex link from browse to combo-box is combo-box link */ THIS-PROCEDURE:CURRENT-WINDOW, /* Link only objects created for current window */ TRUE, /* Replace any existing links */ ""). /* Except these objects – list of handles */ DYNAMIC-FUNCTION("setCompanyHeader",THIS-PROCEDURE:CURRENT-WINDOW). /* The application should supports multiple companies */ DYNAMIC-FUNCTION("setNoResizeY", THIS-PROCEDURE:CURRENT-WINDOW, FRAME {&FRAME-NAME}:HANDLE, "rectTBfile"). DYNAMIC-FUNCTION("setOrgWinSize", THIS-PROCEDURE:CURRENT-WINDOW,200,250,0,250). DYNAMIC-FUNCTION("initTranslation",THIS-PROCEDURE:CURRENT-WINDOW). APPLY "value-changed" TO hBrowse. /* Since the query is opened we want to display the first record */ END.

Run the window:

Same window again:..this time translated, resized and with different BG-color Resize and color settings can be stored pr window pr user

Another window example for generic 3-tier database queries

Run the query The browse is now created based on user-defined buffers and fields