Sie sind auf Seite 1von 11

1. Please tell me some thing about yourself?

My name is Umesh Kumar Yadav. I've completed GNIIT Three years course from NIIT
Faridabad and I'm Pursuing MCA from M. D. University Rohtak.
Currently, I'm working with Ascomp Technologies Pvt. Ltd. at Rajendra place in New Delhi
Since 10 December 2007 to till date on PowerBuilder Technology. I've total experience is 42
month.
My primary work is migrate any application which is build on powerBuilder 7 to powerbuilder
11 and secondry bug fixes and new enhancement in Reckoner.
Reckoner is ERP project that contents around all module as
Core,Finance,Material,Production,Planning,Sales,MIS,CRM,RealEstate,Tools and also
definition for define Business logic. Definition is enabled for only administrator. I work on
Core and Material Module.
My achievement are:Resolve all errors during migrating and after migrated any problem.
Migrate five project(Reckoner,ReckSvr,MPCB,RReader and Development System)
Dynamic menu
Top Ten menu,
Menubuilder
Connect Report with Report Server
Migrate Reckoner on Web Server
2. What are the processes of material module?
Define All process of material Generate indent to issue product.
3. How do you pass parameters when opening a window?
Use OpenWithParm method () and accessing the three system message object properties:
Message.DoubleParm
Message.PowerObjectParm
Message.StringParm
The parameters are stored in the Message object.
4. What are the different statuss 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.
a) All are applicable to rows but only 1 & 2 are applicable to columns.
b) Getitemstatus () can be used to find the data window status
5. What is the purpose of using the SUPER keyword?
It is used to refer to an objects immediate ancestor. Take for example Super:: wf_myfunc
(myarg1, myarg2). This example calls the ancestor function wf_myfunc (presumably the
descendant also has a function called wf_myfunc). This example must be part of a script or
function in the descendent window, not one of the window's controls
6. What is a dynamic data window? Give an example of why youd need to use a dynamic
data window.
It is a data window that is modified or created during runtime. CREATE method can be used
to create or replace the current DW object in the DW control with the newly created DW.
Settransobject () needs to be reset with the new DW in the control since the earlier
association would have been destroyed.
7. What is the difference between ItemError () and DBError ()?
ItemError () occurs when the data supplied to a particular column in a table fails some
validation rules. For example a DW column designed to accept only integer values throws
this error if a string value is passed. DBError () occurs when
INSERT/UPDATE/DELETE/RETRIEVE fails. When it occurs, the DW Control throws up a
message box describing the error to the DBMS. The user can also get the appropriate error
code and throw up message boxes.
8. What is a data store? What type of events does it support/not support?
It is a non-visual data window. For example if you want to retrieve data from a table without
showing it, then you can go for data store. It does not support clicked events but supports
deleterow (), insertrow (), retrieve () and update (). It also supports ItemError () event.
9. As an extension of (8) above, mention two differences with data windows
a) A DW can be designed such that the user is prompted to enter the parameters for data
retrieval while this not possible with data store. If the user calls the RETRIEVE method for a
DW control, the DW object expecting an argument, if the user leaves it blank, it prompts the
user to enter an appropriate value, this behaviour is not supported in data stores
b) The PRINT Set-up dialog box for setting print specifications is not possible in data stores
10. Explain the following terms: Regeneration, Optimisation & PBD
a) Regeneration when you modify an ancestor object, you can regenerate descendants so
they pick up the code changes to the ancestor.
b) Optimisation it is the process of compressing library objects; it removes gaps in

libraries and defragments the storage of objects, thus improving performance. Optimising
only affects the layout on disk and not the contents of the objects. Objects are not
recompiled. For best performance libraries should be optimised once a week.
c) PBD DW objects are stored in PBLs that are converted to PBDs thereby providing
runtime versions of DW objects.
11. When do you use a data pipeline?
If the user wants to copy DB objects from one database to other or copy from one DBMS to
another, the data pipeline can be used. The file can be exported from one database and
imported to the target database. In the Data Pipeline painter you define a data source,
source database, target database, retrieval arguments, unions, sorting, selection, and
grouping criteria.
12. Explain and differentiate between settrans () and settransobject ()?
While using settrans () the user need not specify an explicit CONNECT or DISCONNECT
statement in the script since PB internally calls them whenever required. As part of internal
transaction management of DW controls, when the DW needs to access the DB, the DW
control issues an internal CONNECT, performs data access and then issues an internal
DISCONNECT.
Settransobject () is used when the user goes for a separate transaction object (example
SQLCA) or creates a separate one in the script. The sequences of statements are as follows:
Transaction tra_1
tra_1 = CREATE transaction
tra_1.DBMS = ODBC
tra_1.database = myDB
CONNECT using tra_1
Dw_1. Settransobject (tra_1)
Dw_1. Retrieve ()

13. Explain the components of ODBC architecture


a) Application any front end/GUI from where ODBC calls are made
b) Driver Manager it is a DLL that controls loading of appropriate drivers to connect to
DBMS. When an ODBC call is made, it scans the *.ini files to determine which driver to use
c) Driver it is the heart of ODBC that takes care of N/W protocols to connect to the data
source; it also submits SQL statements to the data source
d) RDBMS an ASCII file containing information such as DBMS name, login/password etc
ODBC takes care of locating the Sybase/SQL server address on the network by reading the
win.ini/sql.ini files
14. Explain the Connect String DBParm parameter in PowerBuilder.
It specifies the parameters required to connect to an ODBC data source. PowerBuilder uses
these parameters to connect to the database. The syntax is
Connect String = 'DSN = data_source_name; {UID = user_Id; PWD = password;

driver_specific_parameters}'
PowerBuilder generates the Connect String automatically when you define an ODBC data
source and copies it to the DBParm box in the Database Profile Set-up dialog box. This
happens before you connect to the data source in PowerBuilder.
15. Which are the PFC class libraries in PowerBuilder?
PFC is a combination of reusable and extendible classes and framework. The 8 libraries are:
a) pfcmain.pbl basic services
b) pfcapsrv.pbl application
c) pfcdwsrv.pbl data window
d) pfcwnsrv.pbl window
The 4 extension layer class libraries are pfemain.pbl, pfeapsrv.pbl, pfedwsrv.pbl &
pfewnsrv.pbl. 2 more security related libraries (with no extension layers) are pfcsecad.pbl &
pfcsecsc.pbl
16. When should internal transaction management be used?
It can be used if the number of connections to theDB are limited and also for pure retrieval
when COMMIT & ROLLBACK are not application priorities.
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
18. Explain how the Auto Commit property works in PB.
When the Auto Commit property is set to FALSE (default) or 0, PB issues SQL statements
inside the scope of a transaction. 1(TRUE) implies statements outside the scope of a
transaction (for example when your application requires creating temporary tables).
a) If you want to execute stored procedures containing DDL (CREATE, ALTER, DROP etc)
statements, then Auto Commit = TRUE.
b) If Auto Commit = TRUE, then rollback cannot be issued, it should be set to FALSE after
completing the DDL operation.
When Auto Commit is set from FALSE to TRUE, then PB issues a COMMIT statement by
default.
19. Explain the steps to update a multi-table DW in PB.
The following steps are involved in the process:
a) Use. modify/.object notation to make ONE table updateable
b) SET the primary keys for the table
c) Perform DW_1 update with FALSE argument for the reset option in the Update() function
d) After is successful, make 2nd table updateable and 1st table not updateable
e) Next call update() with TRUE argument for the the reset option in the Update() function

f) COMMIT/ROLLBACK depending on success or failure


20. What is a DWChild object? Name two events associated with it
A dropdown DW is aDWChild. For example a DW object that populates a column having the
dropdown DW edit style is aDWChild object. It does not have any events associated with it.
21. Explain multi-byte support for PB
PB 8 supports both ANSI and double-byte character sets (DBCS); any PB8 application runs
in a DBCS environment. In a DBCS environment 1 character = 2 bytes as opposed to 1 byte
in an ANSI environment. For example we may need to change the width of a column of type
char (40) to char (80).
The wide version of the Len () function (called Lenw ()) should be used since the former
returns the number of bytes while the latter returns the number of characters.
PowerBuilder can access Unicode data in an ASE 12.5 Unicode database or in Unicode
columns in ASE 12.5. PowerBuilder converts between double-byte character set (DBCS)
data and Unicode automatically, provided that the Locale parameter is set with DBCS
values. For example, the Locale DBParm should be set to chs or cht.
22. Explain the three methods of passing arguments to functions/events in PB
a) By Value a copy of the variable is passed. Any changes to the value of the variable will
affect the copy only, the original variable in the calling script is not affected
b) By Reference a pointer to the variable is passed to the function/event. Any changes
affect the original variable in the calling script
c) READ-ONLY a copy of the variable treated as a CONSTANT is available to the
function/event
23. Differentiate between instance and shared variables in PB
a) Instance variables are created when the object is created and destroyed when the object
is destroyed while a shared variable is created when the FIRST instance of the object is
created and is destroyed when the application is closed
b) The value of an instance variable in each instance is independent of its value in other
instances while changing the value of a shared variable in one instance will affect other
instances
24. Mention some features of N-Up, Composite & CrossTab DW presentation styles
a) N-Up: two or more rows of data displayed next to each other across the page. It is useful
for periodic data such as data for each day/week or each month in the quarter
b) CrossTab: - provides a data summary in a row and column format. Data to be selected
from one or more tables, DW cannot be external. Crosstab functions can be used for filters,
validation rules or computed fields
c) Composite: - it consists of one or more nested reports. It also serves as a container for
other reports and has no data source of its own. The user can specify one DW object to be
shown on screen, as many reports as the number of DW objects can be viewed on screen
based on the retrieval arguments specified by the user

25. Explain some performance considerations that you as a developer would like to review
while designing client/server (PB/Sybase) applications
An important consideration is the usage of COMMIT/CONNECT statements to maximize
performance and limit locking and resource use. Two design considerations that should be
taken care are:
a) Long running connections if these are NOT acceptable then the application should
connect to the database only when necessary. If acceptable then COMMITs should be issued
as often as possible so that the changes do in fact occur. More importantly COMMITs should
be issued to release any locks placed on DB entities as a result of statements executed
during the transaction
b) Settrans/Settransobject function if the application functionality requires connections to
be kept open and issue periodic COMMITs then Settransobject () should be used or use
Settrans () for many short-lived transactions
26. Explain the usage of Settransobject function with composite DWs
Only this function should be used for composite presentation styles acting as containers for
other DW objects. If settrans () is used with each DW in a composite DW then disconnect
does not occur until PB session ends. It should be used only for pure retrieval when DB
locks need not be held on tables in other words update () functions are not used.
27. Explain function overloading with an example
It is a feature in PB where a function is defined with the same name as another. The two
functions may differ in the number of arguments and also the type of arguments. An
example is the Messagebox () function.
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
29. How do you change the SQL statement of a DW at run-time?
It can be done by linking the DW control to modify () function or using . Object notation
30. Can you use an array as an argument to the DWs Retrieve () function?
Yes, it can be used when your DWs data source contains a Select statement with an IN

clause.
31. Application functionality would like to allow the user to print selected rows. How is this
done?
You can copy the selected rows to a data store or a hidden DW control using rowscopy ()
and print the data store or hidden DW control
32. Explain the DW validation rule
If the data in a column has changed, it checks for the correctness of the value (both data
type and data value) in the primary buffer. Wrong data type or data value will trigger the
itemerror () event. If the data is correct it triggers itemchanged () event, which if it returns
ZERO, triggers itemfocuschanged () event.
33. Explain the following error: Rows changed between retrieve and update
It occurs when a user updates the data before you update it. PB detects it when you include
the timestamp column in the DW or use key and updateable columns in the WHERE
clause. The solution to the problem would be to use the reselectrow () function to reselect
the row that caused the error and get the latest values for the error row and update the DB
again.
34. What is the difference between a computed column and a computed field?
The former is defined as part of the SELECT statement, (for example sum, avg etc) whose
values are calculated by the database, while in the latter the PB client calculates the values.
If it is a fat client then computed fields are recommended, else for thin clients it is computed
column.
35. If the application needs to display rows as soon as they are retrieved, what should be
done?
Write code in the retrievrow () event and also set the asynch attibute in the DBParm
property in the transaction 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.
39. What are the different types of windows in PB?
They are main, popup; child, response, MDI frame, and MDI frame with microhelp.

40. If you create a response window and open that window in an MDI frame using
opensheet (), what would happen?
When you open a window in a MDI frame using opensheet () or opensheetwithparm () the
window gets the sheet properties irrespective of the window type. If a response window is
opened using the above functions the window will behave like any other sheet having
maximise, minimize, close controls etc
41. What is the difference between triggerevent () and postevent ()?
The former executes the specified events script right away while the latter posts the
request in the operating systems message queue
42. How can I find out if the PB application is connected to the DB or not?
Use the Dbhandle () function
43. Name three PB pronouns used to reduce hard coding
This, parent, parentwindow & super
44. Differentiate between parent & parentwindow
Parent refers to the PB object where the current object is placed. For example parent in a
command buttons script will refer to the window in which the command button is placed.
Parentwindow is used to refer to the window for which the current menu is attached
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.
47. What is DDE? Which PB object has DDE related events associated with it?
DDE stands for dynamic data exchange by means of which two applications can talk to each
other and exchange data between them. Examples are RemoteExec & RemoteSend. A PB
window has DDE events associated with it

48. Explain the concepts of embedding and linking


When you embed an object it is saved as part of the OLE container object i.e. any changes
to the actual object will not reflect in the embedded object. In case of Linking the original
object resides where it was and link information is stored in the OLE container object i.e.
any changes to the actual object will reflect in the OLE container object. OCX is an OLE
control that implements the component-based architecture.
49. Explain enumerated data types in PB
Enumerated data types are specific to PowerScript. They are used as arguments in functions
and also to specify the properties of an object or control. A variable of one of the
enumerated data types can be assigned a fixed set of values. For example, the enumerated
data type Alignment, which specifies the alignment of text, can be assigned one of the
following three values: Center! Left!, and Right!:
For example mle_edit.Alignment=Right!
50. Explain the concept of inheritance in PB
It is a feature that enables you to build windows, user objects, and menus that are derived
from existing objects. When you change an ancestor object, the changes are reflected in all
the descendants and the descendant inherits the ancestor's scripts. Two main features to be
noted here are:
a) Descendant objects - In PB, an object class can be inherited from another class. The
inherited or descendent object has all the instance variables, events, and functions of the
ancestor. You can augment the descendant by adding more variables, events, and functions.
If you change the ancestor, even after editing the descendant, the descendant incorporates
the changes.
b) Instantiating - When you instantiate a descendent object, PowerBuilder also instantiates
all its ancestor classes. You do not have programmatic access to these ancestor instances,
except in a few limited ways, such as when you use the scope operator to access an
ancestor version of a function or event script.
51. If you were experiencing a GPF in your application, how would you go about tracking it
down?
a) Check library search path in development, required DLLs, PBLs in runtime etc
b) If PFC is used, check that the PB version is exactly the same as PFC version, i.e. 5.0.04
etc
c) Use DLL tracking utility to check executables DLL list
d) Enabling the PB Debug Tracing information and find the last line of code that executed
prior to the GPF.
52. Name some of the PFC services.
a) Application (debugging, error message, security)
b) Data window (filter, linkage, print preview, resize, sorting)
c) Window (menu, resize, file, metaclass)

53. Explain the type of Inheritance.


two types of Inheritance: Single Inheritance and Multi-level Inheritance.
54. Is PowerBuilder support Multiple Inheritance?
No,But you need`multiple inheritance then you can inherit one object from other and You
make one object as userobject and then use this userobject inherited object.
55. How many event support an application?
Six even support an application.
open(),close(),connectionbegin(),connectionend(),idle(),systemerror().

Das könnte Ihnen auch gefallen