在SAP中日期和时间是分开存在的, 比如单据的创建日期 2023-07-08 存在CreateDate中, 时间14:30存在CreateTime中. 在数据库的列类型中我们可以看到日期类型以datetime类型存在,而时间类型以smallint存储. 虽然时间类型看似是一个整型来存储的, 但是如果我们给时间类型的属性赋值的时候以整数赋值则会报一个类型不匹配的错误. 比如:

doc.CreateTime = 1430;

后来试了下以字符串赋值, 依然给出类型不匹配的错误.

doc.CreateTime = "14:30";

正确的赋值方法是要拿DateTime类型做下转换. 尽管Time在数据库层面以整数存储,但是在SAP中还是对应的C#中的DateTime类型.

doc.CreateTime = Convert.ToDateTime("14:30");


发表评论