Well, if it is so clear, you should verify your results because you are assumming that the REPLACE operation was successful since no error occurred. But is it really? Try this:
CREATE CURSOR testDefault (f1 I NULL)
INSERT INTO testDefault VALUES (0)
INDEX ON F1 FOR .F. TAG T1 CANDIDATE
TRY
REPLACE ALL f1 WITH NULL
? "REPLACE DON'T FAIL"
CATCH
? "REPLACE FAIL"
ENDTRY
SET ORDER TO
BROWSE && I see 0 and not .null.
You will see that the REPLACE (like UPDATE) operation fails, however, it appears that an error is only triggered for the UPDATE.
As indicated in prior messages, you need to specify what the expected behavior is. Looking at the older bug you posted, there are different things going on possibly involving different code paths than with this one. Therefore, it is also recommended that you try not to combine multiple issues into one bug report. Try to identify a single issue with the minimal number of steps possible. To me, this issue here may be different than the one you posted previously (which may be by design).
Another tip: since this specific set of code that you posted is considered somewhat pathological (FOR .F.), it may not be viewed by the team as a high priority. Therefore, it is good to post real-world code if possible. If it is easier to post something less realistic, then you should always add a comment how it relates to a real world scenario. If you have a work-around, that is also good to post.
Since one of the main reasons the team chose to post SP1 as a public beta was to allow for developers a chance to test their VFP9 production code for possible regressions, it is also IMPORTANT that you indicate whether the issue being reported occurs in VFP9 RTM (and if convenient VFP8 too).
Whatever your reasons for turning down offers to be a beta site in the past is your business. I don't care. However, if you desire to post here, it is beneficial to all involved to report issues in a manner consistent with how everyone else is reporting them.
>
>Randy, it is so clear that don't know thing anymore to write.
>
>A simplification.
>
>This do the same operation with Replace and Update,
>REPLACE put NULL into F1 without problems
>UPDATE perform the same operation and fail
>
>LOOK the
FOR .F. !
>
>CLEAR
>
>CREATE CURSOR testDefault (f1 I NULL)
>
>INSERT INTO testDefault VALUES (0)
>
>INDEX ON F1 FOR .F. TAG T1 CANDIDATE
>
>ON ERROR
>TRY
> REPLACE ALL f1 WITH NULL
> ? "REPLACE DON'T FAIL"
>CATCH
> ? "REPLACE FAIL"
>ENDTRY
>
>TRY
> UPDATE testDefault SET F1 = NULL
> ? "UPDATE DON'T FAIL"
>CATCH
> ? "UPDATE FAIL"
>ENDTRY
>