A16: proDataSets in the Real World aka blood, sweat and tears revisited Miles Klettke Clever Fellow
© 2008 Progress Software Corporation 2 Agenda Knowing me – rumours abound Knowing you – Geeks or Managers? Capabilities by example Some Principles of ProDataset Design Other ProDataSet coding tips
© 2008 Progress Software Corporation 3 Knowing me – it is all true Progress survivor Voracious appetite for the new Respect of the old A clinical eye for what works Anything else is just rumours…….
© 2008 Progress Software Corporation 4 Knowing you Geek already using proDataSets? Manager are the developers telling the truth? Lagard Need to get to proDataSets Nothing else on Information overload ……. Be honest
© 2008 Progress Software Corporation 5 {include/ttuploadforms.i}. {include/ttformstatus.i} DEF DATASET dsApplication FOR ttUploadForms, ttUploadDetails,ttUploaderrors,ttProperty,ttApplic ation,ttApplicationParty,ttParty,ttEventhist Data-Relation dr-Forms-Details for ttUploadForms, ttUploadDetails relation-fields (uploadID, uploadID). Data-Relation dr-Details-Party for ttUploadDetails, ttParty relation-fields (PartyID, PartyID). What is a prodataset
© 2008 Progress Software Corporation 6 DEF TEMP-TABLE ttUploadForms NO-UNDO BEFORE-TABLE ttUploadFormsBefore FIELD uploadID AS INT FIELD loadDate AS DATETIME FIELD originalFilename AS CHARACTER FIELD partyID AS INTEGER FIELD processStatus AS CHARACTER FIELD sentToOCRDate AS DATETIME FIELD storedCopyOfFile AS BLOB {include/extrattfields.i} INDEX PK_uploadID IS PRIMARY UNIQUE uploadID. Is it just a standard temp-table?
© 2008 Progress Software Corporation 7 Agenda Capabilities by example Share your Transport Travel by Public Transport Use the most appropriate transport package Just give me the Transport Link It gets your there fast But I like shankes pony
© 2008 Progress Software Corporation 8 Lets go to the code
© 2008 Progress Software Corporation 9 Agenda Some Principles of ProDataset Design Defining Temp Tables Name Variations What is Reference Only? Index ? What Index? ROWID
© 2008 Progress Software Corporation 10 {include/ttparty.i &ext={&ext}} {include/ttproperty.i &ext={&ext}} DEFINE DATASET dsparty{&ext} {&ReferenceOnly} FOR ttparty{&ext}, ttProperty{&ext}, Data-Relation dr-party-prop{&ext} for ttparty{&ext}, ttproperty{&ext} relation-fields (physpropid, propertyid). /* include/ttparty.i */ DEFINE TEMP-TABLE ttparty{&ext} BEFORE-TABLE ttparty{&ext}before FIELD Given-Names AS CHARACTER FIELD Surname AS CHARACTER FIELD PartyID AS INTEGER {include/extrattfields.i} INDEX PartyIdx IS PRIMARY UNIQUE PartyID Sample: 4GL Code Snippet
© 2008 Progress Software Corporation 11 Agenda Other ProDataSet coding tips Is there a Fill in the House? Did you say Fill in the where string! Pesky Housekeeping and performance Save those changes But I said output! Generic or specific? Useful routines and ideas Did you say ADM2?
© 2008 Progress Software Corporation 12 Lets go to the code
© 2008 Progress Software Corporation 13 For More Information, go to… Documentation: ProDataSets by John Sadd PSDN Documentation also at yID=261&externalID=473&fromSearchPage=true OERA Latest Thinking! yID=1415&externalID=3838&fromSearchPage=true yID=1415&externalID=3838&fromSearchPage=true Welcome to the Complete AutoEdge Kit yID=298&externalID=1686&fromSearchPage=true yID=298&externalID=1686&fromSearchPage=true
© 2008 Progress Software Corporation 14 Relevant PTW Sessions A1: What's New in OpenEdge 10.1C A7: Architecting Your Application in OpenEdge 10 A14: What’s New with ProDataSets in 10.1C
© 2008 Progress Software Corporation 15 Questions ?
© 2008 Progress Software Corporation 16 Thank You
© 2008 Progress Software Corporation 17