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

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