Tech Articles


DataBase Tracing Features


One of the "new" features in PowerBuilder 10.5 was actually initially introduced in the PowerBuilder 10.2 maintenance release. The folks at Sybase finally addressed a number of fundamental issues with database tracing for deployed applications.

Trace File Location
Users are often running under accounts that don't have Administrative or Power User privileges. As a result, they may not have sufficient rights to create a file in the WINDOWS directory, the very directory where a deployed application was hard coded to store the trace file. We've been able to specify an alternative location for applications run out of the IDE since PowerBuilder 6.0 by setting the DBTraceFile parameter in the database section of the PB.INI file. It wasn't until these new database tracing features were added that we gained this ability for deployed applications.

Read more

Installing GhostScript for PowerBuilder on Windows 10


** “Kool” Tip **

GhostScript on Windows 10

PDF Generation for PowerBuilder Classic 

 

   Most PowerBuilder developers know that the DataWindow object class in PowerBuilder (PB) Classic utilizes the open source (GNU) version of the GhostScript (GS) software to convert PostScript printer output into an Adobe PDF (Portable Data Format) file. The challenge this year for PB Developers moving into the MS-Windows version 10 domain, is that all drivers must be signed in order for the new O/S to accept the driver. This creates an issue for the GS installation as even the latest version 9.21 does not supply signed MS-Windows drivers.

Read more

Using Autoincrementing Columns from a PowerBuilder DataWindow


Note:  This blog entry is basically the written version of a video I did for the SAP Database and Technology Academy.  You can either watch the video or read the blog entry, or both if you’re so inclined.

 

 

Why use Autoincrementing Columns?

 

Before we get into how, first we need to look at why we want to use autoincrementing columns.  So let’s step back and consider how we want to create primary keys for the entities in our databases.  There are basically two approaches, using “natural” (intelligent) keys or “surrogate” (non-intelligent) key.  Natural (or intelligent) keys mean we pick some attribute of the entity itself that we believe provides a unique value we can use to reference that entity. We then use that key in foreign key references into other tables.

 

Read more

TreeView DataWindow Presentation Style


One of the first things you'll notice when you open up the File -> New -> DataWindow dialog is the new TreeView DataWindow presentation style (see Figure 1). The first thing you'll actually notice is that all of the IDE icons have more of an XP style, but then you'll notice the new presentation style. Once you've double-clicked on that you'll see the same series of dialogs that you're already familiar with from the other presentation styles, in which you select the data source, the tables to use, the columns in the tables, etc.

That is, it will be familiar until after you've finished defining the SELECT statement. Once you leave that, you encounter a new Report Definition dialog (see Figure 2). Here you indicate whether you want the TreeView DataWindow to be a Grid Style or not and which columns from the SQL statement should be associated with the first level on the TreeView. You can add other levels to the TreeView after it has been created, similar to the way you create additional group breaks in a group DataWindow (see Figure 3).

Read more

Customizing the PB IDE


Chapter 5 of PowerBuilder 9: Advanced Client/Server Development included a discussion on how to add items to the New dialog within the PowerBuilder IDE. This article will review that information and look at a couple of additional techniques for extending the PowerBuilder IDE

Adding Items to the New Dialog
All versions of PowerBuilder 7 and beyond allow you to add items to the New Dialog by adding entries to the registry. First navigate to:

HKEY_LOCAL_MACHINE\SOFTWARE\Sybase\PowerBuilder\X.0

where X is the major version of PowerBuilder that you are creating the new item for (7, 8, or 9). Under that key create a new subkey called "CLSID" that all the new items will be located under (see Figure 1).

Read more

Using Oracle Stored Procedures in Your DataWindows


Oracle was slow to introduce support for returning result sets from stored procedures. When they finally did add such support, they did so in a manner that was somewhat different than the approach used by other vendors.

This has a couple of consequences for PowerBuilder developers. The first is that the PBDBMS approach was developed within PowerBuilder as an interim workaround. The second is that using stored procedures to return result sets is not as widespread a practice with Oracle databases as it is with other database products.

This article (an excerpt from an upcoming book on PowerBuilder 9) is an attempt to address this situation. The interim PBDBMS solution is going away. In PowerBuilder 8, support for the PBDBMS was restricted to the O73 driver and with PowerBuilder 9, support for it will be dropped completely. If you're still using that old technique and need to migrate, or you would just like to learn the new one, this article should help.

Read more

Find Articles by Tag

Windows 10 Icons .NET Std Framework IDE File Windows OS License Model Application BLOB Platform Resize Database Connection Event .NET DataStore Filter XML OAuth Database Table DLL PowerScript (PS) Database Profile OLE OAuth 2.0 Android CoderObject Elevate Conference TFS Error NativePDF SnapDevelop Deployment Messagging SQL Server iOS TortoiseGit TLS/SSL TreeView Service SVN DevOps SnapObjects PBVM Variable DragDrop PBDOM PDF Menu SQL Source Control Charts UI ActiveX SqlExecutor Text Window Excel ODBC OrcaScript WebBrowser Interface PowerServer Web JSONParser Testing Transaction Outlook Event Handler Migration Azure Validation Performance Web API WinAPI DataType UI Themes PFC 32-bit PowerServer Mobile Icon PowerBuilder (Appeon) UI Modernization Export HTTPClient Sort PowerBuilder Compiler CrypterObject Design Mobile Expression DataWindow InfoMaker Array Encryption Database Object Class Branch & Merge Bug REST .NET Assembly JSON Authorization Configuration PDFlib API Script Import JSON Data 64-bit Visual Studio Repository Stored Procedure COM Database SqlModelMapper Source Code Graph External Functions C# PostgreSQL Database Table Schema PowerBuilder RibbonBar Open Source RichTextEdit Control SOAP Encoding Database Table Data RESTClient Installation JSONGenerator Export JSON DataWindow JSON GhostScript Jenkins PBNI Import Debug Linux OS Syntax Web Service Proxy PostgreSQL ODBC driver SDK Event Handling Trial Database Painter CI/CD Oracle Automated Testing Git MessageBox Debugger RibbonBar Builder Authentication Debugging