Professional Documents
Culture Documents
PB Technical Questions
PB Technical Questions
PB Technical Questions
2. What are the different status’s a row can have in a DW and what
function do you call to find the status?
The 4 DW Statuses:
1. Not Modified – the information in the row/column is unchanged
from what was retrieved.
2. Data Modified – the information in a column or one of the
columns in the row has changed since it was retrieved
3. New Modified – the row is new and values have been assigned
to columns. (Changes are primarily due to user entry or by using
the setitem () method)
4. New – the row is new and values have not been specified to
columns.
17. Explain the different types of data sources that can be linked to
data window controls
a) Quick Select – Used when data comes from one or more tables
linked by a foreign key.
b) SQL Select – In addition to above grouping & computed
columns can be specified
c) External – the data can be imported from a flat file or populated
from the code. ( for example using setitem() methods)
d) Query – used when the data source (SQL statement) is saved in
a query object defined in the query painter.
e) Stored Procedure
28. Explain the two classes of PB user objects and their sub types
Uos are custom visual objects that you can build to supplement
standard PB objects. UOs can request/display information and
respond to mouse or keyboard actions and create a tab page UO.
a) Visual UO – a reusable control/set of controls. For example a set
of buttons to function as a unit having scripts associated with them
for standard processing. Three types are:
1. Standard – inherited from a specific visual control. For example
command button/checkbox etc
2. Custom - inherited from the userobject system class. You can
include many controls in the UO and write scripts for these events.
3. External - it is a UO that displays a visual control defined in a
DLL.
b) Class UO – they consist of properties, functions, and events with
no visual components.
1. Standard – inherited from a NV PB object such as a
transaction/error object, which can have instance variables and
functions.
2. Custom – an object of your own design for which you define
variables, events and functions in order to encapsulate application-
specific programming in an object
36. How would you retrieve multiple result sets in a single DW?
A DW can retrieve only one result set at a time. To retrieve other
result sets, you can change the result set number either by modify
() or using object notation making sure the number of columns and
data types match the existing DW definition.
37. What is the event from which I can see the exact SQL
statement sent to the DB by PowerBuilder?
SQLPreview ()
38. How can you update a DW that has a stored procedure as a data
source?
It can be done by going to the update properties in the DW by
selecting Rows/Update properties from the menu in the design
mode in the DW painter. The tables to be updated can be selected.
45. I have a window, which has a menu, associated with it. For
some reason I have deleted the menu and I am getting any error
while trying to open the window. What needs to be done?
Export the window as a SRW and look for the menu name in the
file. Once found the menu can be created again and linked to the
source window.
46. Explain the different types of embedded SQL that can be used
in PB scripting
Given below are the SQL statements in scripts that are possible
with Sybase ASE:
a) Transaction Management statements – CONNECT, COMMIT,
ROLLBACK and DISCONNECT are used to manage transactions
in ASE. If a trigger fails, then a RAISEERROR should be issued in
the trigger and not ROLLBACK. PB has got a DBMS specific
return code (SQLDBCode = -1) within the transaction object which
can be used to throw messages to the user.
b) Non-cursor statements – INSERT/UPDATE/DELETE/SELECT
c) Cursor statements – the user can retrieve ( declare, open, fetch &
close cursors) and issue update( update & delete cursors)
d) DB Stored Procedures – they can be used for retrieve, update or
both. To execute DDL statements the AutoCommit must be set to
TRUE (1), but if it is TRUE, ROLLBACK cannot be issued, hence
after completion of the DDL operation it must be set back to
FALSE.