Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Putting.

Slides:



Advertisements
Similar presentations
Word – Pika Training © August 2006, Pro Seniors, Inc. Microsoft Office Automation Using Pika Data Overview.
Advertisements

CC SQL Utilities.
Data Base. Objective Become familiar with database terminology. Create a project to display data for a single database table. Use a DataGrid control.
MS-Access XP Lesson 1. Introduction to MS-Access Database Management System Software (DBMS) Store data in databases Database is a collection of table.
Using VB with MS Applications R. Juhl, Delta College.
Copyright © SkyeyTech, Inc. BUGtrack Interface.
Chapter 10 Database Applications Copyright © 2011 by The McGraw-Hill Companies, Inc. All Rights Reserved. McGraw-Hill.
1 Chapter 12 Working With Access 2000 on the Internet.
XP Browser and Basics1. XP Browser and Basics2 Learn about Web browser software and Web pages The Web is a collection of files that reside.
Using Visual Basic 6.0 to Create Web-Based Database Applications
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.
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation. All.
Using Objects and Properties
1 Chapter 4 The Fundamentals of VBA, Macros, and Command Bars.
Macros Tutorial Week 20. Objectives By the end of this tutorial you should understand how to: Create macros Assign macros to events Associate macros with.
1 Chapter 8 Object-Based Programming in VBA. 8 Chapter Objectives Declare and use object variables Create procedures that use built-in form methods Find.
Preforming Mail Merges Lesson 11 © 2014, John Wiley & Sons, Inc. Microsoft Official Academic Course, Microsoft Word Microsoft Word 2013.
Copyright 2003 The McGraw-Hill Companies, Inc CHAPTER Application Software computing ESSENTIALS    
Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition.
Browser and Basics Tutorial 1. Learn about Web browser software and Web pages The Web is a collection of files that reside on computers, called.
Microsoft Office Word 2013 Expert Microsoft Office Word 2013 Expert Courseware # 3251 Lesson 4: Working with Forms.
Microsoft Office 2010 Office 2010 and Windows 7: Essential Concepts and Skills.
CHAPTER 9 DATABASE MANAGEMENT © Prepared By: Razif Razali.
Unit J: Creating a Database Microsoft Office Illustrated Fundamentals.
Classroom User Training June 29, 2005 Presented by:
Computer Networking From LANs to WANs: Hardware, Software, and Security Chapter 12 Electronic Mail.
Programming with Microsoft Visual Basic 2012 Chapter 13: Working with Access Databases and LINQ.
Outlook Lesson 5 Managing Contacts Microsoft Office 2010 Advanced Cable / Morrison 1.
Facilimanage Dynamics aka “Facilies” CS 499 Final Presentation Curtis McKay Manneet Singh Brad Vonder Haar.
Obsydian OLE Automation Ranjit Sahota Chief Architect Obsydian Development Ranjit Sahota Chief Architect Obsydian Development.
Introducing Dreamweaver MX 2004
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
10-1 aslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhf.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
In addition to Word, Excel, PowerPoint, and Access, Microsoft Office® 2013 includes additional applications, including Outlook, OneNote, and Office Web.
Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Twelve Access Databases and LINQ.
To enhance learning, service, and research through an advanced information technology environment. Our Mission:To enhance learning, service,and research.
Working with Numeric Variables (Unit 6) Visual Basic for Applications.
1 Working with MS SQL Server Textbook Chapter 14.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 Working with MSSQL Server Code:G0-C# Version: 1.0 Author: Pham Trung Hai CTD.
Going Mobile with OpenEdge ® Basics Paul Guggenheim Paul Guggenheim & Associates.
Relational Databases (MS Access)
Chapter 17 Creating a Database.
CSCI 6962: Server-side Design and Programming Database Manipulation in ASP.
Microsoft Office Illustrated Introductory, Second Edition Started with Outlook 2003 Getting.
WaveMaker Visual AJAX Studio 4.0 Training Basics: Building Your First Application Binding Basics.
1 Chapter 2: Working with Data in a Project 2.1 Introduction to Tabular Data 2.2 Accessing Local Data 2.3 Accessing Remote Data 2.4 Importing Text Files.
Enhancing Forms with OLE Fields, Hyperlinks, and Subforms – Project 5.
Chapter Thirteen Working with Access Databases and LINQ Programming with Microsoft Visual Basic th Edition.
1 MSTE Visual SourceSafe For more information, see:
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
Database Connectivity with ASP.NET. 2 Introduction Web pages commonly used to: –Gather information stored on a Web server database Most server-side scripting.
PubMed/How to Search, Display, Download & (module 4.1)
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved Address Book Application Introducing Database Programming.
Course Contents Overview: Database basics Lesson 1: Benefits of using a database Lesson 2: Table that data Lesson 3: Analyzing, viewing, and reporting.
1 Logging into the new PCard (PaymentNet) System: PAYMENTNET * Introduction * May use IE 8.0 or greater or Firefox * Do not.
PCard Training Logging into the new PCard (PaymentNet) System: * Introduction * May use IE 8.0 or greater or Firefox * Do not.
1 Section 1 - Introduction to SQL u SQL is an abbreviation for Structured Query Language. u It is generally pronounced “Sequel” u SQL is a unified language.
Programming with Microsoft Visual Basic 2012 Chapter 13: Working with Access Databases and LINQ.
Preforming Mail Merges
Practical Office 2007 Chapter 10
MICROSOFT OUTLOOK and Outlook service Provider
Performing Mail Merges
Chapter 6 Programming with Office 97
Preforming Mail Merges
Microsoft Access 2003 Illustrated Complete
Microsoft Access Illustrated
Microsoft Office 2003 Illustrated Introductory, Premium Edition
Presentation transcript:

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Putting Outlook® in OpenEdge® Paul Guggenheim Paul Guggenheim & Associates

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA 2 About PGA Working in Progress since 1984 and training Progress programmers since 1986 Designed seven comprehensive Progress courses covering all levels of expertise including - The Keys to OpenEdge® Author of the Sharp Menu System, a database driven, GUI pull-down menu system. White Star Software Strategic Partner TailorPro Consultant and Reseller AppPro Partner Major consulting clients include Acument Global Technologies, Chicago Metal Rolled Products, Eastern Municipal Water District, Eaton Corporation, Foxwoods Casino, Interlocal Pension Fund, International Financial Data Services, JP Morgan Chase, Montana Metal Products, National Safety Council and Tyson Foods. Head of the Chicago Area Progress Users Group PUG Challenge Executive Committee Member

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Overview Object Linking and Embedding (OLE) OLE Servers OLE Clients Using OLE in OpenEdge Create an Instance Refer to related objects using properties and methods Release Objects from Memory GUI for.NET Defining temp-tables and ProDataSets Using the ProBindingSource Linking Ultragrid and other UI Objects

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Overview (cont.) Applying OLE and GUI for.NET in an Application Representing History Exhibiting Messages Showing Outlook Folders Populating the UltraCombo Mailbox Object Populating the UltraGrid Mail Item Object Updating the table from UltraGrid

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA What is OLE? OLE Automation, or Object Linking and Embedding, is an effective way for a Progress application to communicate with other applications in the MS Windows environment.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Before OLE The legacy method of communicating with a word processor or spreadsheet is to dump data to an ASCII file and then load the ASCII file into the other application. This process involved several manual steps, making it difficult to automate and secure against end user errors.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA OLE Automation OLE Automation is a client/server based form of communication. An OLE Automation Server is an application that can be controlled by other applications. An OLE Automation Client is an application that can issue server commands.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA OLE Automation Examples of OLE Automation Servers are: Microsoft Word Microsoft Excel Microsoft Outlook Microsoft Powerpoint Microsoft Mappoint An OpenEdge GUI client is an OLE Automation Client.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA OLE Information To learn about how to use OLE Automation, check the following: Progress COM Object Viewer Record Macros in the OLE Automation Server and look at the Visual Basic Application (VBA) source code produced.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA OLE Information To learn about how to use OLE Automation, check the following: Visual Basic for Applications Help Use the Object Browser to determine the value of constants Internet MS Office Developer Website ( MS Office Development Documentation ( MS Outlook Reference Documentation (

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA OLE Automation Servers The OLE Automation Server application consists of components called objects or collections. They relate to each other hierarchically. Each object consists of properties and methods that are analogous to Progress widget attributes and methods.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Using OLE in Progress – 3 Steps 1. Create an instance 2. Refer to other objects using properties and methods 3. Release Objects from memory

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Using OLE in Progress 1. Create an instance Examples: def var hwordapp as com-handle. create "word.application" hwordapp. def var ool as com-handle. create "Outlook.Application" ool. In order for an instance to be created, the server application must be registered to the same machine as the running OpenEdge client, and the server program files must be located either on the same machine or a shared network drive.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Using OLE in Progress CREATE statement CREATE expression1 COM-hdl-var [CONNECT [TO expression2]] [NO-ERROR] expression1 is a reserved character string that names a unique Automation object in the system registry. expression2 is a character string that identifies a file name of a particular application type, like.doc for Word files or.xls for Excel files.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Using OLE in Progress 2. Refer to other objects using properties and methods Example: def var hdoc as com-handle. hdoc = hwordapp:documents:open("worddoc.doc"). Documents is a collection object belonging to the Word applicaton, using the method Open. This method opens an existing Word document called "worddoc" and stores the reference to it in a variable called hdoc.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Using OLE in Progress Example: def var ons as com-handle. def var opf as com-handle. def var opfs as com-handle. ons = ool:GetNameSpace("MAPI"). opf = ons:folders:item(1). opfs = opf:folders. Folders is a collection object belonging to the Outlook applicaton. A collection allows the access to multiple items through the count property and item method. The first item in the above example represents “Personal Folders”. We want to read the folders below Personal Folders.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Working with Collections The following illustrates the similarities of collections I have studied in Microsoft Automation Servers: 1. The collection name is plural, i.e Adjustments, Windows, Bookmarks, Folders, etc. 2. Each individual object inside of a collection usually is singular, i.e. Window, Bookmark, Folder, etc. (Adjustment doesn't exist).

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Working with Collections The following illustrates the similarities of collections I have studied in Microsoft Automation Servers: 3. There is a read-only Count property that returns an integer representing the number of items in a collection. 4. There is an Item method that expects an integer representing the unique sequence number for a particular item in a collection.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Working with Collections To read through the folders collection: do i = 1 to opfs:count with down: display opfs:item(i):name. end.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Using OLE in Progress 3. Release objects from memory Example: release object hdoc no-error. release object hwordapp no-error. release object ool no-error. release object ons no-error. release object opf no-error. release object opfs no-error. Limits - Usually hundreds of server objects may be controlled by a client. OpenEdge has automatic garbage collection for versions 10.2B and later.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Using OLE in Progress RELEASE statement RELEASE OBJECT COM-hdl-var [NO-ERROR] Once a COM object is released, any references to it could result in an invalid handle error. Warning: Since a new COM object could be given the same handle as one that was deleted, you should always set COM-hdl-var to ‘?’ after releasing the object and use the VALID-HANDLE function to see if it refers to anything before referencing it or use the NO-ERROR keyword.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA GUI for.NET In the OpenEdge traditional GUI, a browse is connected to data via a query that is related to a database table, a temp-table or a prodataset. In the OpenEdge GUI for.NET, the equivalent to a browse is called a grid. A grid connects to data using a binding source. OpenEdge offers the ProBindingSource to establish a connection. In the following examples, the Infragistics UltraGrid objects will be used for grids.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA OpenEdge ProBindingSource The ProBindingSource is an OpenEdge object that transfers data to and from.NET UI objects. It typically maps fields from a temp- table using a query or a ProDataSet to the fields defined in the ProBindingSource.NET UIProBindingSource Query or PDS

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA ProBindingSource Steps Below are the required steps for the ProBindingSource to communicate with an UltraGrid or other.NET objects. Attach ProBindingSource to.NET object’s DataSource property. Define a temp-table that contains the fields that will be used in the UltraGrid columns or.NET object. Define a scrolling query based on that temp-table. Populate the temp-table. Open the query for the temp-table. Attach the query to the ProBindingSource.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Attach to Combo Box DataSource Property

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Populating UltraCombo Mailbox Define Temp-table tmailbox define temp-table tmailbox no-undo field mbname as char format "x(30)" label "Mailbox" index mbname is unique mbname. Define Scrolling Query define query qtmailbox for tmailbox scrolling.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Populating UltraCombo Mailbox Populate the Temp-Table /* Get handle for Personal Folders */ opf = ons:folders:item(1). /* Get handle for Personal Folders Collection */ opfs = opf:folders. do i = 1 to opfs:count: if opfs:item(i):name = "openedge" then do: ooefolder = opfs:item(i). do j = 1 to ooefolder:folders:count: create tmailbox. assign tmailbox.mbname = ooefolder:folders:item(j):name. end. /* j = 1 to ooefolder:count */ end. /* = "openedge" */ end. /* i = 1 to opfs:count */

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Populating UltraCombo Mailbox Open the query for the temp-table. open query qtmailbox for each tmailbox. Attach the query to the ProBindingSource. bsmailbox:handle = query qtmailbox:handle no-error.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Populating the Mail Items UltraGrid Attach to the UltraGrid2 DataSource Property

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Populating UltraGrid2 Mail Items Define temp-table tout and query qtout define temp-table tout no-undo field maildt as datetime-tz field maildate as date field mailtime as char format "x(10)" field sender as char format "x(30)" field sender as char format "x(50)" field recipient as char format "x(30)" field recipient as char format "x(50)" field body as char format "x(50)" index maildt maildt desc. define query qtout for tout scrolling.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Populating UltraGrid2 Mail Items METHOD PUBLIC VOID out fill(input omf2 as com-handle): empty temp-table tout . bsout handle = ?. do i = omf2:items:count to 1 by -1: omailitem = omf2:items(i) no-error. create tout . assign tout .maildt = datetime(omailitem:creationtime) tout .maildate = date(maildt) tout .mailtime = string(integer(mtime(tout .maildt) / 1000),"HH:MM:SSam") tout .sender = trim(omailitem:sendername,"'") tout .sender = omailitem:sender address tout .recipient = trim(omailitem:recipients:item(1):name,"'") tout .recipient = omailitem:recipients:item(1):address tout .body = substr(omailitem:body,1,16384).

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Populating UltraGrid2 Mail Items Reading mail items backwards adds the most recent ones to the temp-table first. Convert receivedtime property to maildt datetime- tz field. Assign sender name, address, recipient name, address to the corresponding temp-table fields. Only store the first 16k of text characters into the body temp-table field.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Populating UltraGrid2 Mail Items Open the query for the temp-table. open query qtout for each tout . Attach the query to the ProBindingSource. bsout handle = query qtout handle no-error.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Filling the Database Items UltraGrid Attach to the UltraGrid1 DataSource Property

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Filling the Database Items UltraGrid Define temp-table t and prodataset ds . define temp-table t before-table b4t FIELD No AS INTEGER FORMAT "999999" LABEL " No." FIELD studentId AS INTEGER FORMAT "999999" FIELD dtz AS DATETIME-TZ FORMAT "99/99/9999 HH:MM:SS.SSS+HH:MM" INITIAL "now" LABEL "Date-Time-TZ" field date as date field time as char format "x(10)" FIELD Contact AS CHARACTER FORMAT "X(20)" FIELD Contact AS CHARACTER FORMAT "x(40)" FIELD Txt AS CHARACTER FORMAT "x(40)" LABEL "Text" field Name as char format "x(30)" index no is unique no. define dataset ds for t .

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Filling the Database Items UltraGrid Define query for database table , temp-table for t and data-source for filling. define query q for . define query qt for t scrolling. define data-source src for query q keys ( no).

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Filling the Database Items UltraGrid Prepare Query, Attach Data Source and fill dataset. query q query-prepare("for each no-lock"). temp-table t tracking-changes = no. dataset ds EMPTY-DATASET (). buffer t attach-data-source(data-source src handle,""). dataset ds fill(). buffer t detach-data-source(). temp-table t tracking-changes = yes. open query qt for each t . bs handle = query qt handle no-error.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Updating the table from UltraGrid Updating the database table from Outlook is as easy as double-clicking. Challenge is to prevent duplicates or adding the same Outlook message more than once. Outlook Mail Item CreationTime property records milliseconds which virtually insures uniqueness for a specific studentid and contact address. When a mail item is selected for adding, the sender and recipient addresses are checked against the student table. If one matches, the other address becomes the contact address.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Demonstration

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Demonstration

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Demonstration – Word Index Search

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Demonstration – Word Index Search

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Summary Applying OLE concepts in an OpenEdge GUI for.NET application provides a seamless way to provide Microsoft Office data in an attractive format. Integrating the two technologies allows the ability to examine the Office data in meaningful ways using powerful OpenEdge database features such as word indexing.

Copyright © 2013 Paul Guggenheim & Associates Paul Guggenheim & Associates Putting Outlook in OpenEdge PUG Challenge June 9-12 th, 2013 Westford, MA Questions