ebook img

Ten Habits Of Highly- Effective Modern ABL Programmers PDF

66 Pages·2014·0.67 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Ten Habits Of Highly- Effective Modern ABL Programmers

Ten Habits Of Highly- Effective Modern ABL Programmers Even Covey Only Has 7! 10ish Years‘ Worth of Progress 10.0A 10.2B 11.0 10.0B 9.1E 11.1 10.1A 10.1B 11.2 11.3 10.1C 10.2A 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 9.1E04 released in Apr ‗06 10.2B08 released in Dec ‗13 11.3.1 released in Feb ‗14 3 © 2013 Progress Software Corporation. All rights reserved. 10ish Years‘ Worth of Progress, put another way message digests 64-bit dbkeys OOABL abstract classes REST and Mobile Indeterminate arrays encryption XML xref OOABL reflection updates block-level undo, throw base64-encoding Extend longchar support Dynamic DLL/SO invocation ABL single-run OOABL strongly typed events ProDataSet WRITE JSON Log-manager "4glTrans‖ dynamic access to built-ins ProDataSets STOP-AFTER State-free AppServer Browser column view-as Array parameters Browser sort arrows Multi-tenancy BLOB Table-scan Colour inheritance in GUI CLOB JSON built-in objects OOABL overloading DateTime Temp-table VSTs .NET openclient Auditing ProDataSet infer relations from XML WebServices-out Client-Principal Remove IO blocking from function mergeprop Sax-writer Structured error handling OOABL interface inheritance TTY mode dynamic browse widget By-reference parameters Fix 64-bit r-code Stream handle Events in batch mode GUI for .NET everywhere GUI for .NET OOABL dynamic property accessors OOABL OOABL static members OpenClient dynamic API OOABL garbage collection ProDataSet read/write xml OOABL interface properties Webservices-out w/temp-tables/PDS OOABL array support password encoding XML read/write enhancements parameter defined as LIKE ProDataSet WHERE-STRING 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 4 © 2013 Progress Software Corporation. All rights reserved. In No Particular Order 1. ProDataSets 2. Passing data by-reference 3. mtime > etime (DATETIME) 4. Indeterminate Arrays 5. Arrays as arguments 6. OOABL: taking the leap from spaghetti code to lasagna code 7. Structured error handling 8. Includes & preprocessors 9. JsonObject 10. Static is dynamic is static 5 © 2013 Progress Software Corporation. All rights reserved. In No Particular Order 1. ProDataSets 2. Passing data by-reference This is *my* list. If you 3. mtime > etime (DATETIME) don‘t like it, feel free to 4. Indeterminate Arrays 5. Arrays as arguments shout your own at 6. OOABL: taking the leap from spaghetti code to lasagna code disagree with 7. Structured error handling 8. Includes & preprocessors me 9. JsonObject 10. Static is dynamic is static 6 © 2013 Progress Software Corporation. All rights reserved. ProDataSets Age: Prime of life  FILL() and related events  Data sources with multi-table field mapping • 2 db tables into 1 temp-table? Field names human-readable? No problem  Parent-child relationships • UI binding goodness (navigate through parents, get child nav free!)  Change tracking  Row-level events  Multiple representations • Native ABL • JSON and XML serialization • OpenClient, BPM, JavaScript versions (aka JSDO)  Gotcha: fair amount of work to do on save (lots of control) 7 © 2013 Progress Software Corporation. All rights reserved. ProDataSets - defining define temp-table ttCustomer no-undo before-table btCustomer field Number as integer field Name as character /* name matches db */ field CreditLimit as decimal /* name matches db */ field Balance as decimal /* name matches db */ field FullAddress as character field NumOpenOrders as integer /* name matches db */ index idx1 as primary unique Number. define temp-table ttOrder no-undo before-table btOrder /* etc */ define dataset dsCustomer for ttCustomer, ttOrder data-relation relCustOrd for ttCustomer, ttOrder relation-fields(Number, Number). define data-source srcCustomer for Sports2000.Customer. 8 © 2013 Progress Software Corporation. All rights reserved. ProDataSets – fetching data /* define temp-table, dataset, data-source as above */ define input parameter pcWhereClause as character no-undo. define output parameter dataset for dsCustomer. buffer ttCustomer:attach-data-source(data-source srcCustomer:handle). data-source srcCustomer:fill-where-string = pcWhereClause. dataset dsCustomer:fill(). buffer ttCustomer:detach-data-source(). 9 © 2013 Progress Software Corporation. All rights reserved. ProDataSets - defining define temp-table ttCustomer no-undo before-table btCustomer field Number as integer field Name as character /* name matches db */ field CreditLimit as decimal /* name matches db */ field Balance as decimal /* name matches db */ field FullAddress as character field NumOpenOrders as integer /* name matches db */ index idx1 as primary unique Number. define temp-table ttOrder no-undo before-table btOrder /* etc */ define dataset dsCustomer for ttCustomer, ttOrder data-relation relCustOrd for ttCustomer, ttOrder relation-fields(Number, Number). define data-source srcCustomer for Sports2000.Customer. 10 © 2013 Progress Software Corporation. All rights reserved. ProDataSets – fetching data (2) /* define temp-table, dataset, data-source as above */ define input parameter pcWhereClause as character no-undo. define output parameter dataset for dsCustomer. buffer ttCustomer:attach-data-source( data-source srcCustomer:handle, 'CustNum,Number'). data-source srcCustomer:fill-where-string = pcWhereClause. dataset dsCustomer:fill(). buffer ttCustomer:detach-data-source(). 11 © 2013 Progress Software Corporation. All rights reserved.

Description:
10ish Years' Worth of Progress, put another way. 2003 2004 2005 2006 . define output parameter dataset for dsCustomer. class OpenEdge.Core.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.