How Sofrepost Modernized Their Commercial PowerBuilder Applications
Sofrepost, a subsidiary of La Poste (the French mail), develops and sells SPS, a management system for post offices. Our clients are national postal systems from a dozen countries on several...
View ArticleCase Study: Refactoring a PowerBuilder Classic Application
Under heavy Confederate fire, wounded, surrounded, with one third of his men lost, Union General John Corse is holding the fort on the top of the hill in the US Civil War battle of Altoona. Peering...
View ArticleUsing the Tag Property – Part 3
This is the third and final part of a series presenting a proposal for the use of the tag property of DataWindow columns. My original thought was to provide a means to automatically set a microhelp for...
View ArticleRESTful Web Services: A Quick-Start How-to Guide - Part 2
Part 2 of "RESTful Web Services: A Quick-Start How-To Guide" explores foundational issues in coding RESTful operations, including Basic Authentication and Exception handling. Along the way I’ll share...
View ArticleAdvanced WebDW HTML Generation
Okay, so I've been promoting the inclusion of PB client/server articles, yet here I am writing about the Web DataWindow. Don't stop reading! This article applies to all PB developers, whether n-tier or...
View ArticleGetting to the Top of the Pecking Order
Your application has a window containing custom visual user objects (CVUOs) that require system services in their constructor events. Obviously, the services must be resident and active before the CVUO...
View ArticleSoftware Inventory Control Systems
This article will focus on Software Inventory Control Systems (SICS). Recently, I was asked by Bill Rogers (NH DoIT Commissioner) and Peter Hastings (NH DoIT Director) to take a look at SICS,...
View ArticleAdvanced DataWindow Filtering with PowerFilter
As we all know, the DataWindow is a very powerful and flexible control used for data presentation and manipulation. For the most part, the features that you get out of the box allow you to create some...
View ArticleAfter PowerBuilder 12.5 Classic – Sneak Preview
By the time you are reading this, PB12.5 will have been released and work on PB15 well under way. A lot of exciting things have gone into the .NET version of PB but we still get requests for features...
View ArticleDrop-Down Lists for Decimal Fields
PowerBuilder has a very handy way to make data entry more convenient: the DropDownDataWindow and DropDownListBox edit styles for DataWindow columns. Indeed, it’s much simpler to pick up a value from a...
View ArticleCreation and Consumption of Web Services with PowerBuilder
PowerBuilder 12.5 introduced a number of significant enhancements to web services support, both for creation and consumption. We’re going to look at what those new features provide and how to use them....
View ArticleAdvanced DataWindow Sorting
This article provides a means of automating the sorting of DataWindows... not just grid DataWindows as discussed in last month’s article, but all DataWindows, regardless of display format. Bear in mind...
View ArticlePFC Project Partitioning Using a Referenced PowerBuilder Assembly Target
Paul Harvey, the great American radio personality, would always conclude his colorful broadcasts with the quip “And now you know the rest of the story.” For those of you not acquainted with Paul’s...
View ArticleBreaking Platform Limitations
One of the innovative new features in the PowerBuilder 12.5.1 release is its ability to deploy PowerBuilder .NET code to run in 64-bit mode on 64-bit Windows platforms. In this article, after gaining...
View ArticleBuilding a Snap-In App Framework Using Dynamic PowerBuilder Assemblies
The articles in this two-part series examine and contrast PowerBuilder .NET 12.5.1’s new dynamic assembly feature with corresponding dynamic library functionality in PowerBuilder Classic. The discourse...
View ArticleA Snap-In App Framework Using Dynamic PowerBuilder Assemblies (Part 2)
This two-part series examines and contrasts PowerBuilder .NET 12.5.1’s new dynamic assembly feature with corresponding dynamic library functionality in PowerBuilder Classic. The discourse is presented...
View ArticleThe PowerBuilder DataWindow as an Image Thumbnail Display Control
While external controls exist for viewing image thumbnails, there can be the need to view images as thumbnails within the context of other data within a multi-row list, treeview or report. This can be...
View ArticlePowerBuilder 15 Classic Sneak Preview
In my previous article for PowerBuilder Developer’s Journal (Vol. 18 issue 8), I gave a sneak preview of some of the things we were working on for PB15 Classic. This is a closer look at one of them –...
View ArticleProfessional DataWindow Sorting
In my last article we explored what I call Advanced DataWindow Sorting. We covered everything that we need for the DataWindow. In this article we are going to polish what we did last month and make it...
View ArticlePower Building with Exceptions
To pass errors from functions outward, throw exceptions instead of returning an error code like -1. That’s implemented by filling the “Throws:” field in the function’s header (signature) with the class...
View ArticleAutomating Formats and Edit Styles
Sybase I am convinced that PowerBuilder is poised for a mighty comeback. The fact is that still today PowerBuilder is by far the most productive development tool available. It eclipses all the rest. An...
View ArticleDancing Checkboxes
Normally I write columns about the DataWindow or Appeon. This month though I ran into an interesting little logic problem and when I solved it I realized it was really a nice piece of code so, even...
View ArticleDataWindow Magic: Menu Security
Security is a must for most corporate applications. This article will give you a starting point to designing and implementing your own. We will do it with a table that is added to the example database...
View ArticlePredictive Real-Time Analytics Is the Big Data Lifeline
Big Data is everywhere. Predictive analytics and real time in-memory computing isn’t everywhere. This truth (if we can accept it to be so) represents something of an imbalance. As a subset of data...
View ArticleElegant Programming: The Art of Naming (Part 1)
Give all entities mentioned in the code (DB tables, DB tables’ fields, variables, classes, functions, etc.) meaningful, descriptive names that make the code easily understood. The names should be so...
View ArticleFrom Efficiency to Effectiveness: The Role of Data
Efficiency may be the most commonly used term in enterprise software marketing – that or “ensure.” And not without reason – efficiency is one of the key value propositions of most enterprise software,...
View ArticleDistributing Database Modification Scripts to DBAs
I recently read Berndt Hamboeck’s article, ‘NetStart’ Your PowerBuilder Application after being kindly pointed to it by Bruce Armstrong. It made perfect sense to me to be able to distribute .pbd...
View ArticleElegant Programming: Code Writing Style | Part 2
Declare local variables in the beginning (on the top) of the function, before the first executable line. This will: Make it easier to detect all the variables used in the function and to follow them...
View ArticleAppeon Developer Configuration
Have you ever used a datastore that ran without a problem while you were developing your application, but once you've compiled it stopped running? Let me tell you that's a difficult bug to fix. I...
View ArticleAutomating Your DataWindow
Every programmer knows about the IF command. It's pretty much a fundamental part of the syntax of every computer language that has ever existed. I don't need to explain how it works. The DataWindow...
View ArticleHow Should CIOs Engineer the New Social Enterprise?
As we know, Chief Information Officers are generally ‘change and upheaval averse’ because it is, after all, mostly prudent to resist change. With change comes risk, new user training, new integration...
View ArticleElegant Programming: Managing Functions | Part 3
Create a separate function for each logical sub-task, i.e., divide one long program into a number of short subprograms. The idea is named “Separation of concerns.” Do that not only if the code will be...
View ArticleElegant Programming | Part 4
A given object should assume as little as possible about the structure or properties of anything else (including its subcomponents). In simpler words: if you want to get data from an object, referenced...
View ArticleA Pragmatic Approach to Enterprise Architecture
Managing complexity is difficult in any growing business. As companies innovate, add new business lines, expand their global reach, cater to increased volume, or adopt new regulatory rules, processes...
View ArticleThe Importance of Accurately Modeling User Interactions in Performance Testing
Load testing, perhaps more than any other form of testing, is one of those activities that you either choose to do well or risk a result that leaves you worse off than not doing it at all. Half-hearted...
View ArticleThe PostOpen Event – Why It Is So Important
Normally I try to write applications on the DataWindow or Appeon but every now and then I get a question that makes me sit back and say, “Huh?” In this case the question concerns the PostOpen event....
View ArticleGradients, Not Glitz: Methods to Modernize PowerBuilder User Experiences
Surprisingly few applications have used DataWindow gradients since they were introduced in PowerBuilder 10.5. Modern applications frequently have controls with gradients. They can give a fresh look to...
View ArticleA Look at Appeon Mobile
I am here to tell you it’s true. You can write iPad applications in PowerBuilder. I’m sure that you are waiting for the other shoe to drop but ladies and gentlemen, there is no other shoe. It is simply...
View ArticleOData Support in SQLAnywhere 16.0
OData is quickly becoming the Lingua Franca for data exchange over the web. The OData standard defines a protocol and a language structure for issuing queries and updates to remote data sources,...
View ArticleCloud Development Using SCM 12.5
Recently, I was asked by Mr. Peter Hastings (NH DoIT Commissioner) to take a look at cloud development concepts and see if there was any benefit for our development teams across the enterprise. After...
View Article