Deprecated: Function ereg() is deprecated in /rscs/rs/websites/lmpx.com/code/nav/common.inc on line 99
Deprecated: Function ereg() is deprecated in /rscs/rs/websites/lmpx.com/code/nav/common.inc on line 82
We are getting the same issue with the same scenerio. Were
you able to figure out the problem or a resolution?
> Just migrated huge old PB 6.5 application to PB 11.1,
> along with migrating the MSSQL 6.5 database to SQL2005.
> Using SQL Native Client as the database interface, with
> DBPARM TrimSpaces=1.
>
> One datawindow (dating back 10 years ago and never
> modified) now gives the "Row changed between retrieve and
> update" error at runtime.
>
> I checked the datawindow configuration on both PB 6.5 and
> PB 11.1, both in the painter and the source code. Here are
> the things I checked/tried in PB11.1. I tried each thing
> in isolation. 1. Release 6; I tried opening in PB 11.1
> and just saving. 2. Date Source type: PBSYNTAX. I tried
> converting to SQL SYNTAX. 3. Date Source SQL: The SQL
> is a join between two tables (voucher and terms). Voucher
> is the updateable table. SQL is below. 4. "Where Clause
> for Update/Delete" is set to Key Columns only
> (updatewhere=0). See below for the UPDATE generated. 5.
> "Updateable Columns": A datetime datatype column is
> selected and updated. This is NOT a key column. The syntax
> generated at runtime (SQLPREVIEW) is below. I tried
> removing the datetime column from the list to see if the
> new syntax was a problem. 6. "Key Modification" is "Use
> Delete then Insert". This dw is never used to update keys,
> so I think this value is moot.
>
> Nothing resolved the problem. Any ideas?
>
> Following is the SQL generated at runtime, as obtained
> from the SQLPREVIEW event:
> In PB 6.5:
> UPDATE voucher SET vou_pay_dt = '3-10-2008 0:0:0.000',
> vou_disc_taken = 0.0000, vou_disc_lost = 0.0000,
> vou_to_be_paid = 0.0000, vou_paid_amt = 8.4500, vou_status
> = 'P' WHERE vou_no = 10425 AND vou_co = 'BIBB01'
>
> In PB 11.1 (the only difference is the syntax that was
> generated for the datetime column):
> UPDATE voucher SET vou_pay_dt = {ts '3-10-2008 0:0:0.000'}
> , vou_disc_taken = 0.0000, vou_disc_lost = 0.0000,
> vou_to_be_paid = 0.0000, vou_paid_amt = 8.4500, vou_status
> = 'P' WHERE vou_no = 10425 AND vou_co = 'BIBB01'
>
> I executed the PB11.1 SQL UPDATE in SQL Server Management
> Studio just to eliminate PowerBuilder altogether. It
> executed without error. I also executed the same update in
> the PB 11.1 Interactive SQL painter, to eliminate PB
> runtime but utilize SNC. Again, it executed without error.
>
> DW SQL at runtime in PB6.5 (same in PB11.1), from
> SQLPREVIEW event, for the SELECT:
> SELECT voucher.vou_no , voucher.vou_co ,
> voucher.vou_pay_dt , voucher.vou_ven_grp ,
> voucher.vou_ven_cd , voucher.vou_disc_taken ,
> voucher.vou_disc_lost , voucher.vou_type ,
> voucher.vou_sgl_check_fl , voucher.vou_term_cd ,
> terms.term_type , terms.term_due_days ,
> terms.term_disc_days1 , terms.term_disc_pct1 ,
> terms.term_disc_days2 , terms.term_disc_pct2 ,
> terms.term_day , voucher.vou_discountable_amt ,
> voucher.vou_to_be_paid , voucher.vou_paid_amt ,
> voucher.vou_remitto , voucher.vou_encl_flg ,
> voucher.vou_inv_amt , voucher.vou_ap_seg1 ,
> voucher.vou_ap_seg2 , voucher.vou_ap_seg3 ,
> voucher.vou_ap_seg4 , voucher.vou_ap_seg5 ,
> voucher.vou_ap_seg6 , voucher.vou_ap_seg7 ,
> voucher.vou_ap_seg8 , voucher.vou_ap_seg9 ,
> voucher.vou_ap_segty , voucher.vou_status ,
> voucher.vou_disc_dt , voucher.vou_curr_rate ,
> voucher.vou_1099_key , voucher.vou_backup_wh ,
> voucher.vou_inv_dt FROM voucher , terms
> WHERE ( terms.term_cd = voucher.vou_term_cd ) and
> (vou_status = 'O' and ( vou_app_st = 'A' ) and (
> voucher.vou_to_be_paid <> 0 ) ) AND vou_co = 'BIBB01'
> AND vou_pmt_type = 'CH' AND vou_curr_cd = 'USD' AND
> vou_disc_dt >= '11/26/2005' AND vou_disc_dt <=
> '11/26/2006' AND vou_due_dt >= '11/26/2005' AND vou_due_dt
> <= '11/26/2006' ORDER BY voucher.vou_ven_grp ASC,
> voucher.vou_ven_cd ASC, voucher.vou_remitto
> ASC, voucher.vou_sgl_check_fl ASC
>
>
>
>
>
|