LParameter lcPeriod Local ldDate Do Case Case Empty(lcPeriod).Or.PCount()=0 ldDate=TTOD({--,:}) Case Len(lcPeriod)=4 ldDate=TToD(DateTime(Val(Left(lcPeriod,4)),1,1)) Case Len(lcPeriod)=6 ldDate=TToD(DateTime(Val(Left(lcPeriod,4)),Val(SubStr(lcPeriod,5,2)),1)) Otherwise ldDate=TToD(DateTime(Val(Left(lcPeriod,4)),Val(SubStr(lcPeriod,5,2)),Val(Right(lcPeriod,2)))) EndCase Return ldDate