LANGUAGES | POWER BUILDER | POWER BUILDER INTERVIEW QUESTION AND ANSWERS - 08

Power Builder Interview Question and Answers:

31.     Why must you specify the transaction object for a DataWindow control after creating the Data Window object?
      The Create() function must be followed by SetTransObject() function because Create() destroys any previous association between the DataWindow and a transaction object. Then, we can issue a Retrieve().

 32.     Can you dynamically assign a DataWindow object?
      Yes, using Data Window’s control attribute “Data Object”. DataWindow control has the attribute Data Object. If we want to change an associated DataWindow object at runtime we need to put a line in the script that changes the value of the DataObject attribute.
For example:
dw_1.DataObject = “d_name”

33.     Where is a Query stored?
      In a .PBL file.

34.     How do you create a DataWindow object dynamically?
   
We use SyntaxFromSQL() and Create()
functions:
SQLCA.SyntaxFromSQL(select string, presentation string, Error string)
dw_1.Create(syntax, Error string)
dw_1.SetTransObject(SQLCA)
dw_1.Rerieve()

To create a Data Window dynamically we have to:
1. build a string to hold a SQL Select statement;
2. build a string to specify the presentation characteristics of the Data Window object;
3. associate the syntax and description with an existing DataWindow control;
4. associate the DataWindow control with a transaction object, and perform a retrieval.
The DataWindow that is created exists only for the life of the DataWindow control, unless we use the LibraryImport() function to save it in a library. Dynamic DW objects allow us to create and modify DW objects on the fly. To create a DW dynamically, use the Create() function.
Creating takes two arguments: the name of the DataWindow object that will be replaced by the new DW object, and the syntax for creating the new DW object. We can create the DW object syntax in a script, but it is easier to use the SyntaxFromSQL() to generate the syntax from a SELECT statement.

35.     Let’s say, you share two DW buffers and the primary DW has some DDDW columns. Will this DDDW be shared automatically as well?
      NO. After we have shared 2 DataWindows, we have to share all DropDowns as well. First, we have to get the reference for the Child DataWindow using
GetChild() function and then do sharing by using ShareData() function.
DataWindowChild dwc_1, dwc_2
dw_1.getchild(“employee”, dwc_1)
dwc_1.SetTransObject(sqlca)
dwc_1.Retrieve()
dw_2.getchild(“employee”, dwc_2)
dwc_1.ShareData(dwc_2)

No comments:

Post a Comment