将DueDate移至上一个工作日

2020-09-08 10:14发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我们将SAP Busin...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我们将SAP Business One设置为将发票到期日期移至下一个工作日,并将周六,周日视为周末。 例如,当前的SAP Business One将DueDate移至星期一作为周末之后的下一个工作日。 我正在做的是将DueDate移至星期五,即前一个工作日。 我的FMS查询以某种方式检测出DueDate是否是周末,但无法使用DateAdd更改DueDate。 任何建议,建议将不胜感激。

这是我的FMS查询:

声明@DocDooDate日期='2019-06-23'/*出于测试目的手动设置DueDate */
 声明@Day nvarchar(100)=日期名称(工作日,@ DocDooDate)
 打印@Day
/*检查DueDate是否为周日日曜日*/
 如果@Day ='日曜日'
 开始
 声明@NewDocDooDate date =(Dateadd(day,-2,@DocDooDate));
 打印@DocDooDate
 结束
/*检查DueDate是否是星期六土曜日*/
 否则,如果@Day ='土曜日'
 开始
 SET @NewDocDooDate =(Dateadd(day,-1,@DocDooDate));
 打印@DocDooDate
 结束
 其他
/*如果DueDate不是周末,那么根本不要更改DueDate */
 开始
 设置@DocDooDate = @DocDooDate
 结束
 
3条回答
微wx笑
2020-09-08 10:53

嗨,

我不确定该查询如何工作。 如果工作日是星期天,则声明@NewDocDooDate,但是如果工作日是星期六,则也可以尝试设置它。 如果工作日是其他日子,则根本不设置@NewDocDooDate。

您实际上返回哪个变量?

当您说" ...它不能 要更改DueDate ...",您是否测试过是否可以使用格式化搜索开始更改截止日期?

如果可以完成,您可以测试以下版本的查询:

声明@DocDooDate datetime ='2019-06-23'/*出于测试目的手动设置DueDate */
 打印@DocDooDate
 声明@NewDocDooDate日期时间= @DocDooDate
 打印@NewDocDooDate
 声明@Day nvarchar(100)=日期名称(工作日,@DocDooDate)
 打印@Day
/* Checkif DueDate是星期天日曜日*/
 如果@Day ='日曜日'
  开始
   SET @NewDocDooDate = Dateadd(day,-2,@DocDooDate)
  结束
/* Checkif DueDate是星期六土曜日*/
 否则@Day ='土曜日'
  开始
   SET @NewDocDooDate = Dateadd(day,-1,@DocDooDate)
  结束
/*如果DueDate不是周末,则完全不要更改DueDate */
 其他
  开始
   SET @NewDocDooDate = @DocDooDate
  结束
 打印@NewDocDooDate
 SELECT @NewDocDooDate 

问候

Johan

一周热门 更多>