Hi
check your dw if the columns edit limit value is set to 0 or 500. maybe it is set to 256.
this can happen if eg if the dw was created when the db column has cahged from chr(256) to varchar(500) in database after the dw was created. when it is so PB saves the dw with column information char(256).
with column limit set to 0 (=unlimited) lenght more than 256 chars of entry is possible and also saved on update. but the retrieve truncates all chars beyoned of 256 characters.
to check if this is the reason edit the dw in source mode ( PB 8 and higher) and change the value to 500 for that column or export it do the changes and reimport it in library painter.
hint: PB does not store varchar information in datawindows. varchar columns are treated like char columnshere an example:
cerated table : adresse
CREATE TABLE adresse (
adresse_id decimal(16, 0) not null,
anrede char(20),
vorname varchar(80),
nachname varchar(80),
strasse varchar(80),
plz char(10),
ort varchar(80),
ortsteil varchar(80),
notiz varchar(255) primary key( adresse_id));
here the syntax fragment from a exported dw accessing the adresse table
release 8;
datawindow(units=0 timer_interval=0 color=16777215 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 )
header(height=80 color="536870912" )
summary(height=0 color="536870912" )
footer(height=0 color="536870912" )
detail(height=92 color="536870912" )
table(column=(type=decimal(0) update=yes updatewhereclause=yes key=yes name=adresse_id dbname="adresse.adresse_id" )
column=(type=char(20) update=yes updatewhereclause=yes name=anrede dbname="adresse.anrede" )
column=(type=char(80) update=yes updatewhereclause=yes name=vorname dbname="adresse.vorname" )
column=(type=char(80) update=yes updatewhereclause=yes name=nachname dbname="adresse.nachname" )
column=(type=char(80) update=yes updatewhereclause=yes name=strasse dbname="adresse.strasse" )
column=(type=char(10) update=yes updatewhereclause=yes name=plz dbname="adresse.plz" )
column=(type=char(80) update=yes updatewhereclause=yes name=ort dbname="adresse.ort" )
column=(type=char(80) update=yes updatewhereclause=yes name=ortsteil dbname="adresse.ortsteil" )
column=(type=char(255) update=yes updatewhereclause=yes name=notiz dbname="adresse.notiz" )
retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"adresse~" ) COLUMN(NAME=~"adresse.adresse_id~") COLUMN(NAME=~"adresse.typ~") COLUMN(NAME=~"adresse.anrede~") COLUMN(NAME=~"adresse.vorname~") COLUMN(NAME=~"adresse.nachname~") COLUMN(NAME=~"adresse.strasse~") COLUMN(NAME=~"adresse.plz~") COLUMN(NAME=~"adresse.ort~") COLUMN(NAME=~"adresse.ortsteil~") COLUMN(NAME=~"adresse.notiz~")) " update="adresse" updatewhere=1 updatekeyinplace=no )
....
Hope this helps
Bernd