Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Gather not saving all fields
Message
From
18/09/2007 13:46:54
 
 
To
18/09/2007 13:13:19
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Environment versions
Visual FoxPro:
VFP 8 SP1
Miscellaneous
Thread ID:
01255134
Message ID:
01255194
Views:
17
>>>>>>We have a Point Of Sales application that consists of seperate two applications; a Home Office and Stores. At the end of the day, all the changes from the store are sent to the home office. These, using a Scatter / Gather in a Scan loop the Home Office's tables are updated. But, not all the fields are getting saved.
>>>>>>
>>>>>>With the stage set...
>>>>>>
>>>>>>If the field names and data types the same, can anyone think of any other reason the data would not be saved?
>>>>>
>>>>>Exactly which syntax did you use?
>>>>
>>>>
>>>>SCAN
>>>>    SCATTER NAME oDbf
>>>>    oDbf.orderno = lcStoreno +'-'+ ALLTRIM(STR(oDbf.orderno))
>>>>    IF !INDEXSEEK(oDbf.orderno,.F.,'rohserv','orderno')
>>>>        SELE rohserv
>>>>        APPEND BLANK
>>>>	GATHER NAME oDbf
>>>>        REPLACE rohserv.storeno WITH lcStoreno IN rohserv
>>>>        UNLOCK
>>>>    ENDIF
>>>>    RELEASE oDbf
>>>>    SELECT( lcTemp )
>>>>ENDSCAN
>>>>
>>>>
>>>>See, nothing special.
>>>>
>>>>>If memo fields are involved, did you remember to use the MEMO keyword?
>>>>
>>>>There is no memo fields.
>>>>
>>>>Thanks for the interest.
>>>
>>>Are you sure that these fields that can't be saved are spelled equally in both tables?
>>
>>Checked again, and definitely.
>
>Strange, I never had a problem with SCATTER and GATHER construction (when I used it).
>I even tested it with the different field order:
>
>CREATE CURSOR crsTest1 (Fld1 I, Fld2 D, Fld3 C(20))
>
>CREATE CURSOR crsTest2 (Fld2 D, Fld3 C(20), Fld1 I, Fld4 T)
>FOR asd = 1 TO 20
>    INSERT INTO   crsTest2 VALUES (DATE()+asd, REPLICATE([A],asd),asd, DATETIME()+asd)
>NEXT
>SCAN
>   SCATTER NAME oTest
>   SELECT crsTest1
>   APPEND BLANK
>   GATHER NAME oTest
>   SELECT crsTest2
>ENDSCAN
>SELECT crsTest1
>BROWSE NORMAL
>
I point out to Tore, the problem that the free table was truncating the field names to 10 character, there for they did match.

Thanks for the help.
Greg Reichert
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform