应收应付
1.现在要确定好AP的Query报表是哪一个,现在能够确认是ZFIAP_M01_Q04。从这个报表中,我们可以得到GR/IR, APP(Total), AP-NEW。
这样便有公式能够为此计算。 IF(APP(Total)+AP-NEW>0,0,-APP(Total)-AP-NEW)。
2.这个是说Balance sheet中不管是哪一行,它应该都有一个Mapping值,我们应该找到哪一个是对应着哪几个总账科目相加。
3.另外它所要求对的是,BO中AP与AP相对应Query的值,它只是想找出来BO中出现的错误。
另外有一点,我们那个时候一直想要GR/IR的值,事实上,我们从总账那个CUBE是完全可以得到正确的GRIR的值的,不过我们这里也写的是GRIR的值,更重要的是为了BS重分类账做准备,因为我们还需要求的是应收,如果只是那个AP的报表的话,我估计那个报表的逻辑只是在于求AP的,所以它的取值逻辑应该只是从GRIR里面抽数据。
不过我们如果是从资产负债表里面抽数据的话,那么就需要有自己的取数逻辑,资产负债表的取数逻辑是要我们从好几个地方来取数,下面有对应的逻辑。
注:这里出错的两个值是:17184和32001这两个工厂。
对于17184,而言,2207工厂的17184这个凭证的数据,希望他们查下,是否已经被加入到了AP里的计算中去,这条凭证的数据本不应该加进去,不过他们还是加了。
对于对于32001而言,当AP(NEW)+APP-TOTAL>0 时,它还是将最后TOTAL的值给加了进来。
对于东莞而言,如果对于每一个分公司而言,它们都有多个共同的供应商,对于这个供应商,当AP(NEW)+APP-TOTAL>0 时,这个值也会被计算进去。
现在对ZFI_C03来查BS的数据,这里可以发现它是由两个请求的数据加上去的,我可以根据这两个请求来查找数据,其中有一个是ZBS_ACT1的数据,它的数据比较多。另外一个就是ZBS_AC11。
其中对BS分析,当ITEM=6时,会有哪些科目,如下:
其结果如下图:
关于Balance Sheet的话,它值的来源有如下几个部分。
1 Extract data from GL directly。
这个里面是包含了所有科目的余额。
2 内部抵销的帐户(trading balances with group companies line 4 and line 9, the amount for line 4 should be same as line 9)
3 重分类 (line 3 and line6 )
其中重分类的话,对应了如下的模型,这个GR/IR,不过现在想要弄清楚,它为什么不直接从总分类账那里出,这里的重分类又是为了什么?
并且这里应该注意的这里的GR/IR的值的话,这是由于我们这里只取了GR/IR这个科目的值,并不像总分类账那里有众多的总账科目。同时也要注意到我们BO那个报表中Query可以查到应付,预付和GRIR,这里是查不到的,这里最主要的还是BS的重分类,可能和GRIR有关系。
真正与应付,预付有关系的还是"供应商余额(抵消分录)"这个ODS,这个ODS的数据源是0FI_AP_4,这个里面有字段,应付,预付。BS重分类可能就是最终会对"总账科目"那个ODS产生影响的原因。
现在对于ZFI_C03的分析:
其中上面的数据是来自于ZBS_AC11,它属于重分类,而下面的数据来自于ZBS_ACT1,它是属于总账科目,现在最主要的要能够了解是哪个地方的数据出了问题,导致它们相加起来与AP Query的数据不一致。
data: p_sum like source_fields-/bic/z_grir.
p_sum = source_fields-/bic/z_yf + source_fields-/bic/z_yingf + source_fields-/bic/z_grir.
if p_sum < 0.
p_sum = 0.
endif.
result = 0 - ( p_sum - source_fields-/bic/z_yf ).
这里是指,如果"预付"的值为0,或者不是足够大的话,那我这里result的值是"预付"。
而如果预付的值足够大的话,那就意味着这里的p_sum值为GR/IR与"应付"的和。
关于接收物料与工厂
这个用到的是ZLES_I04这个InfoProvider,不过这个数据源是2LIS_08TRFKZ。
修改PSA里面的内容,然后再上传到上面的DSO以及CUBE的步骤如下:
先找到对应的最上层的CUBE中的请求号,删除,然后信次再找到DSO中的请求号,删除,最后修改PSA中的内容,保存,最后再RUN DTP。
不过这里我们这里是需要我们"回滚",也就是说,它是要我们把以前的都给删除掉,因为DSO不像CUBE,对于ODS而言,如果删除它的一条数据,需要把它之后的数据都给删除掉。
关于Balance sheet那个报表,当item=6时,
现在如果要对比ZFIAP_M02_Q003与OFIGL_C01的数据,我们这里要比较一些总账科目来比较,而这些总账科目主要包含的是对于Balance sheet而言,
当item=6所包含的总账科目。,只要是这个ZFIAP_M02_Q003的所有科目。
如果我想知道会计年度区间里的值的话,那我是在SE16里找表:T009B。如果会计区间1,是1月31号,区间2是到2月28号,那第二个区间就是2.1
打个比方说,如果ODS已经从PSA里面拿了数据,不过我现在把ODS里面的数据全给删除掉,想再从PSA里面拿数据,这个时候从PSA里面拿不到数据的。