[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 470
  • Last Modified:

Issue with datawindow retrieval in PB9.0.1

We are having some issues while trying to upgrade from PB 6.5 to PB 9.0.1 The database is Sybase.

Background:

There is a window  w_child inherited from w_parent.The datasource of this dw_1 is a Stored Procedure that runs in Sybase ASE 12.5 In ue_1 of w_parent there is a  dw_1.retrieve(arg1,arg2). ue_1 of w_child extends ue_1 of w_parent. In ue_1 of w_child the code checks the condition dw_1.rowcount() >0  based on which it decides on the execution flow.

Issue:

While running the application, no rows are getting retrived.The same happens in debug mode too. But when we have "dw_1.retrieve(arg1,arg2)" as a watch variable
in the debug mode the row is currectly getting retrieved.
The dw_1.retrieve returns 0 and the sqlcode & sqldbcode for the transaction is 0.
Also,the preview of DataWindow retrieves the row in PB 9.0.1.

In PB6.5 everything was working fine.

0
Coolcld
Asked:
Coolcld
  • 2
1 Solution
 
sajuksCommented:
If you check most of the posts here almost all of them got solved by updating to the latest EBF.
So i would recommend first update and then lets see if the problem still persist.
Latest is PowerBuilder 9.0.1 (7236) EBF Release
What version of PB are u using

// to download the patches one of the experts diasroshan has given some precise steps:

Go to http://www.sybase.com
---> go to the download option
---> in the download page there is a link EBFs/Maintenance
---> u will be asked to register once u go to that link....
---> register onto sybase(this will help in future)
---> there will be a selection of time frame...select 'all'
---> now when u search u will find build  PowerBuilder 9.0.1 (7236) EBF Release
---> Download it
Install this patch .
0
 
Vikas_DixitCommented:
if you still have problems, please check if you have over-ridded the ue_1 event in the child ( or some other event from where the ue_1 is called ) by mistake. Put a break point in ue_1 of w_parent and check if you are getting there.

Regards,
Vikas
0
 
CoolcldAuthor Commented:
Well, we are using PB9.0.1 with the latest patch(7236) only. Nowhere in the code we have over-ridden the child, it is always extended. We have verified and it does go to the parent code too.

Apart from the dw control(dw_1) derived from the parent, we are having another control in the child(dw_2). dw_2 is not derived from the parent. Now, both the controls have the same dataobject attached and Retrieve() is working fine for dw_2 and not for dw_1.

Now my question is why it is not retrieving for dw_1 ?

As a work around we have created a datastore & retrieved the row into it & then did a rowscopy into dw_1(). This is affecting the execution flow as in many places we have a check for the rowstatus. Due to rowscopy(), the rowstatus is NewModified! instead of NotModified!.
We tried using sharedata() to maintain the Notmodified status but the control(dw_1) vanishes  from the window after the script gets executed.

Please do help us out!! We are stuck at this!
0
 
Vikas_DixitCommented:
Other checks you can perform :

Just add a dw_1.rowcount() afre the dw_1.retrieve in the parent., and see if there are rows retrieved.
Most prabably what is happeneing is dw_1 is getting re-set after it's retrieved, because you say the dw_1 vaishes after some time when you do sharedata()
Check if the code is being executed twice, or the dataobject is re-assigned, or there's a re-set being called somewhere. The event call sequence can be different in PB9  from PB6.5
debug step by step after the first dw_1.retrieve, until all the script is executed.. you will find something..

regards,
Vikas Dixit
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now