首先声明一下,我知道condition2的天数应该大于condition1的天数,否则l逻辑上就是错误的。但是由于sap系统既支持No. of days又支持fixed date,那我想知道同时使用这2项的时候sap怎么判断时间的先后?sap能否在我配置的时候就将错误的逻辑都拒绝?还是sap有时候也无法判断时间的先后留下错误配置的隐患?
Day limit:
天数限制。它决定当系统中定义了多个同名的支付方法时,具体选取哪个支付方法。例如定义了两个同名的支付方法,它们的天数限制分别为15和31,那么对于Posting Date在每月15号或15号之前的凭证,系统将选用天数限制为15的支付方法;对于Posting Date在每月16号至31号的凭证,系统将选用天数限制为31的支付方法。
Day limit:
天数限制。它决定当系统中定义了多个同名的支付方法时,具体选取哪个支付方法。例如定义了两个同名的支付方法,它们的天数限制分别为15和31,那么对于Posting Date在每月15号或15号之前的凭证,系统将选用天数限制为15的支付方法;对于Posting Date在每月16号至31号的凭证,系统将选用天数限制为31的支付方法。
我自己测试了一下,用OBB8创建Terms of payment,
1) 当day limit输0的时候,系统非常聪明,无论我怎么输入condition1和condition2的时间,只有存在错误的可能系统都会发现并报错“Periods to be calculated are not all in ascending order”,也就是系统能够考虑到各种情况以避免可能的冲突。
2)当day limit>0的时候,系统就变笨了不会算时间了!
我在虚拟机下创建了2个有问题的payment terms: 1006(day limit4,31) 和 S067(day limit15,31)
这2个支付条件在某些baseline date的时候会使算出的condition1比condition2的时间期限还长。
用F-22记账发现:
使用1006的时候,如果是会出错的Bline Date,系统会报错“The terms of payment are incorrect”,阻止了line item 2的输入,无法成功记账;除非Bline Date算出的时间是condition1<condition2才能继续记账。
使用S067的时候,系统似乎无法发现这个错误,记账很顺利,保存了之后再display凭证发现S067没有生效,net due date=Bline date。也就是说系统在最后入账的时候将错误的days/percent置零了。