Welcome to Pibbles.NET!

PowerBuilder Knowledge Base, Library, and Idea source
Home
Pages to Watch
PowerScript
Datawindows
IDE
Eye Candy
PFC
Databases
.Net
API
OLE
Web/XML/DOM
EAServer
Other Info
PowerBuilder Solutions
About Us
Contact Us
Site Map
PowerBuilder Foundation Class (PFC)
 
The PFC is open source.  It is available through the Sybase CodeXchange.  Why?  Click here for the explanation.  You will need to sign up for a free account to access this page.
 
Sybase provides an overview of the PFC, although this link is a bit dated.  The PFC hierarchy is explained in another Sybase document.  The charts detail the inheritance levels, which work together to build the framework. 
 

Education and Understanding

Numerous web pages exist to assist you with your PFC projects.

 

For a quick entry into the PFC world, click here for the 15 minute PFC tutorial.  It really can be done that quickly!

 

Development Assistance

Add PFC objects to toolbar for quick access

Insert PFC help into PowerBuilder help

Including the datawindow properties service

 

PFC Services

Filtering

Find and Replace

Sorting

Error Service

Drop Down Calendar

Query Mode Service

Treeview Service

 

This Using the PFC Application and Utility Services article covers the Error, Debug, and SQLSpy services.

 

Using the PFC Error Service

 

Using the PFC Multitable Update Service 

 

What is a Logical Unit of Work?  This is a great overview and includes a short tutorial.  PFC Updates in DataWindows and Using the PFC DataWindow for Updates provide a two part explanation of some background information on the LUW process.

 

Learn about the PFC cache system in the articles Mastering the PFC Caching Service and Extending the Data Caching Service.

 

 

PFC Tips

 

Tips and Techniques

Open Sheets Generically

Detect PFC Version

 

 

PFC Knowledge Base 

MultiTable Update Service
Problem:  Error -193 (Integrity Constraint Violation:  Primary key for table '[TABLE]' is not unique) when inserting second record.
Description:  I had a DataWindow that was used with various DataObjects, depending on the TreeView selection.  Calling dw_1.of_SetMultiTable( true ) and then dw_1.inv_multitable.of_register() for each table every time the DataObject changes is the cause.  The service is meant to be set once (like in the Constructor event). 
Solution:  Call dw_1.of_SetMultiTable( false ) to clear the service after changing the DataObject and before calling dw_1.of_SetMultiTable( true ).