>>>cDate = '081308' >>>cTime = '0945' >>>cValue = cDate + cTime >>> >>>dNewDate = CTOT(TRANSFORM(cValue),'@R ^99/99/99T99:99:99')) >>>>>>The Result is a valid DateTime.
>>>IF cValue is a valid datetime >>> dNewDate = CTOT(TRANSFORM(cValue),'@R ^99/99/99T99:99:99')) >>>ELSE >>> * This is some other type and I do not want to try and convert it >>>ENDIF >>>>>>This is for a report where cValue can be anything. It is always character, but on the report I want to evaluate it and display a real date if it is a date, but leave it alone if it is not.
>>dNewDate = CTOT(TRANSFORM(cValue),'@R ^99/99/99T99:99:99')) >>IF EMPTY(dNewDate) >> *** Not a valid date time >>ELSE >> *** Valid date time >>ENDIF >>>
>IIF(EMPTY(CTOT(TRANSFORM(cValue),'@R ^99/99/99T99:99:99'))),cValue,CTOT(TRANSFORM(cValue),'@R ^99/99/99T99:99:99'))) >>I guess I was trying not to add the conditinal overhead to every value in the detail line in the report, but now that I think about it, there really is no other way.
EVL(CTOT(TRANSFORM(cValue),'@R ^99/99/99T99:99:99')),cValue)