1、关于业务中的工作日计算
try@!。、-话77777777777777777777777777777777(这行奇怪的文字是我的猫打下来的,我不准备将它删掉)
继续话题,今天在工作的时候,准备做单元测试。找了一个例子,结果发生了死循环的故障,但是我所负责修改的部分并不涉及循环,于是我就不断设断点,最终找到了一个关于工作日计算的DO循环,因为日期特殊,所以一直没有跳出循环。
这件事是这样子的,计算销售日期和发货日期隔了多少个工作日,开发者是用do的形式累加日期,然后用FUNCTION (BKK_ADD_WORKINGDAY)计算,这个函数的工作日受工厂的限制,当结果日期等于发货日期的时候,累加日期就是间隔的工作日。这个函数计算有点特殊,它会排除掉工厂在法定工作日不工作的日子,类似于工作日个性化设定(后来才知道这叫做工厂日历,不得不佩服SAP 业务能力,主要还是我太菜了)。这就导致了今天不小心掉进了死循环,当时的发货日期虽然是法定工作日,却不是那个工厂工作的日子。于是日期累加的越来越大,根本没有机会跳出循环。
2、关于今天
今天是坚持写文章的第三天,三分钟热度的第三分钟,希望明天继续坚持。毕竟今天临下班前15分钟,做完工作,上传完文件的我看到电脑屏幕的时候差点吐了出来。