FIX: CTOT() Function Returns Blank Value on an XML DateTime Expression (318971)



The information in this article applies to:

  • Microsoft Visual FoxPro for Windows 7.0

This article was previously published under Q318971

SYMPTOMS

If you use the CTOT() date function on an XML-generated datetime character expression, the CTOT() function returns a blank value.

CAUSE

The SET DATE TO command is set to use the mm/dd/yy format. The Visual FoxPro default is AMERICAN, which uses this format.

RESOLUTION

To resolve this problem, obtain the latest service pack for Visual FoxPro for Windows 7.0. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

316964 How to Obtain the Latest Visual FoxPro for Windows 7.0 Service Pack

STATUS

Microsoft has confirmed that this is a problem in Microsoft Visual FoxPro for Windows 7.0.

This problem was first corrected in Visual FoxPro for Windows 7.0 Service Pack 1.

MORE INFORMATION

Steps to Reproduce the Behavior

  1. Paste the following code in a program (.prg) file, and then run the program from the Command window:
    CLEAR
    IF SET('DATE') <> "AMERICAN"
       SET DATE TO AMERICAN 
    ENDIF
    CREATE CURSOR myxml_date (date_fld T)
    INSERT INTO myxml_date (date_fld) VALUES (CTOT("12/31/2001 10:00:00P"))
    CURSORTOXML("myxml_date", "myxml_var", 3, 1)
    ? myxml_var
    myval = SUBSTR(myxml_var, AT("date_fld", myxml_var) + 10, 19)
    ? myval
    ? CTOT(myval)
    					
  2. A blank date is returned from the CTOT() function even though it contains a valid date.

Modification Type:MajorLast Reviewed:4/3/2002
Keywords:kbbug kbCodeSnippet kbDSupport kbVFP700sp1fix KB318971