170 likes | 296 Views
A16: proDataSets in the Real World. aka blood, sweat and tears revisited. Miles Klettke. Clever Fellow. Agenda. Knowing me – rumours abound Knowing you – Geeks or Managers? Capabilities by example Some Principles of ProDataset Design Other ProDataSet coding tips.
E N D
A16: proDataSets in the Real World aka blood, sweat and tears revisited Miles Klettke Clever Fellow
Agenda Knowing me – rumours abound Knowing you – Geeks or Managers? Capabilities by example Some Principles of ProDataset Design Other ProDataSet coding tips
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…….
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
What is a prodataset {include/ttuploadforms.i} . {include/ttformstatus.i} DEF DATASET dsApplication FOR ttUploadForms, ttUploadDetails,ttUploaderrors,ttProperty,ttApplication,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).
Is it just a standard temp-table? 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.
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
Agenda Some Principles of ProDataset Design Defining Temp Tables Name Variations What is Reference Only? Index ? What Index? ROWID
Sample: 4GL Code Snippet {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
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?
For More Information, go to… Documentation: ProDataSets by John Sadd PSDN Documentation also at http://www.psdn.com/library/entry!default.jspa?categoryID=261&externalID=473&fromSearchPage=true OERA Latest Thinking! http://www.psdn.com/library/entry!default.jspa?categoryID=1415&externalID=3838&fromSearchPage=true Welcome to the Complete AutoEdge Kit http://www.psdn.com/library/entry!default.jspa?categoryID=298&externalID=1686&fromSearchPage=true
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
? Questions