我需要将保存为数据库字符串的提交日期字段转换为日期字段,以便按提交日期过滤报告。数据以MM / DD / YYYY格式保存,单个数字月份没有前导零(即Jan的1/1/2015),有些记录中没有日期(要么是空白,要么是空格) 。我添加了前导零并使用以下公式修复了空记录:
local numbervar totalLength := 10;
local numbervar dateLength := length({S85FLD.TEN_CUSTOM02});
WhileReadingRecords;
if totalLength=0 or isnull({S85FLD.TEN_CUSTOM02}) or {S85FLD.TEN_CUSTOM02}=" "
then "01/01/2000" Else
if dateLength < totalLength
then "0"+{S85FLD.TEN_CUSTOM02}
else {S85FLD.TEN_CUSTOM02}
然后我用“
删除了”/“ EvaluateAfter ({@SubDate:Add"0"});
Replace({@SubDate:Add"0"},"/","")
现在我正在尝试将字符串转换为日期:
EvaluateAfter ({@SubDate:Remove"/"});
cdate (ToNumber (Right ({@SubDate:Remove"/"}, 4)),
ToNumber (Left ({@SubDate:Remove"/"}, 2)),
ToNumber (Mid ({@SubDate:Remove"/"}, 3, 2)))
我检查了所有语法,CR说没关系。但是当我去预览数据或将字段添加到过滤器时,我得到“一天的数字必须介于1和本月的天数之间。”错误。当我查看原始字段时,所有MID值都在其所在月份的日期范围内。有任何建议吗?
软件版本:SAP CR Developer 14