SAP 公司货币配置错误导致清账异常

背景:公司上线时货币配置错误,产生的凭证缺失了集团利润中心的货币金额,虽然后来配置维护正确,但是错误配置下产生的凭证,系统在清账时却报错了。原因推断是系统计算时该货币金额借贷不平。

进入F-51,点击未清项

 

选择凭证编号,Enter

 

输入凭证编号,点击“处理未清项目”

此时未分配是零

点击凭证>>模拟

凭证本币金额是USD,借贷是零

发现:两张凭证,其中一张原币是VND,另一账原币是USD,此时应付账款暂估冲账是本币。

如果两张凭证原币相同,借贷方是会有金额的。

点击“选择货币”

“本币”是USD,借贷金额与“凭证货币”一致,都是零

点击“集团货币”,发现金额是平的。

内表:ITEM_TAB 的值,可以发现应付暂估科目的金额被合并了

CURTP

WAERS

ISTAT

WRBTR

30

CNY

 

XX.83

30

CNY

 

-XX.74

30

CNY

 

0.00

30

CNY

 

0.00

30

CNY

 

XX.21

30

CNY

 

-XX.30

点击“组货币/利润中心估价”,此时发现,货币都是CNY,但是集团利润中心评估的金额居然与集团法人的金额不一致。

虽然模拟借贷是平的,但是内表ITEM_TAB,借贷不平,差异是XX.53

CURTP

WAERS

ISTAT

WRBTR

32

CNY

 

XX.83

32

CNY

 

0.00

32

CNY

 

XX.09

32

CNY

 

-XX.09

32

CNY

 

0.00

32

CNY

 

-XX.30

点击“重置”

点击“处理未清项”

点击“模拟总分类账”,这个相当于模拟凭证的过账

提示错误,点击 “调试器”

是提醒了个消息

F-51 清账DEBUG:
程序:SAPDF05X ,屏幕:3100 , 行数:13  代码:MODULE FUSSZEILE_BEARBEITEN_3100. 
程序:SAPDF05X ,包含:DF05XI00 , 行数:1536  代码:PERFORM pai_fusszeile_bearbeiten_3100.
程序:SAPDF05X ,包含:DF05XI00 , 行数:1557  代码:PERFORM fcode_bearbeitung_3100.
程序:SAPDF05X ,包含:DF05XF02 , 行数:100(模拟凭证过账时)  代码:PERFORM open_fi_00000940.
程序:SAPDF05X ,包含:DF05XF02 , 行数:1300  代码:perform deco_LEAVE.
程序:SAPDF05X ,包含:FIN_UI_DECO_INCLUDE , 行数:309  代码:LEAVE.
程序:SAPMF05A ,屏幕:719 , 行数:79  代码:MODULE SEL_PRUEFEN.
点F7返回,从PAI跳到PBO
程序:SAPMF05A ,屏幕:700 , 行数:49  代码:MODULE FUSSZEILE_BEARBEITEN.(//PBO将要结束的地点)
程序:SAPMF05A ,包含:MF05AI00_FUSSZEILE_BEARBEITEN , 行数:8  代码:PERFORM PAI_fusszeile_bearbeiten.
程序:SAPMF05A ,包含:MF05AI00_FUSSZEILE_BEARBEITEN , 行数:67  代码:PERFORM fusszeile_verarbeiten.
程序:SAPMF05A ,包含:MF05AFF0_FUSSZEILE_VERARBEITEN , 行数:169  代码:PERFORM fcode_bearbeitung.
程序:SAPMF05A ,包含:MF05AFF0_FCODE_BEARBEITUNG , 行数:1483  代码:CALL FUNCTION 'FI_DOCUMENT_PROCESS'
程序:SAPMF05A ,包含:MF05AFF0_FCODE_BEARBEITUNG , 行数:1483  代码:CALL FUNCTION 'FI_DOCUMENT_PROCESS'
函数:FI_DOCUMENT_PROCESS , 行数:47 , 代码:PERFORM process_project.
函数:FI_DOCUMENT_PROCESS , 行数:234 ,代码: PERFORM call_splitter.
函数:FI_DOCUMENT_PROCESS , 行数:827 ,代码: CALL FUNCTION 'FAGL_RWIN_SPLIT'
函数:GL_RWIN_SPLIT , 行数:319 ,代码: CALL FUNCTION 'G_BEB_SPLIT_DOCUMENT'
函数:G_BEB_SPLIT_DOCUMENT , 行数:882 ,代码: CALL FUNCTION 'G_BEB_SPLIT_DOCUMENT_CALC'
函数:G_BEB_SPLIT_DOCUMENT_CALC , 行数:533 ,代码:PERFORM balance_document
函数组:GLT0 , 包含:LGLT0F52 ,行数: 316 , 代码:PERFORM balance_ccode
此时,传递的内表balance_tab,CURPT 显示值是 32 (集团货币,利润中心评估),WRBTR 显示值不为零 
函数组:GLT0 , 包含:LGLT0F64 ,行数: 172 , 代码:PERFORM internal_error USING 'BALANCE_CCODE'.

查看内表BALANCE_TAB

货币“32集团货币,利润中心评估”时计算汇兑损益时借贷不平,

INDEX

BALANCE

SPL_PAR

CURTP

WAERS

WRBTR

HKONT

RBUKRS

SBUKRS

1

 

 

30

CNY

0.00

 

 

 

2

 

 

32

CNY

XX.53

 

 

 

3

 

 

00

USD

0.00

 

 

 

4

 

 

10

USD

0.00

 

 

 

5

 

 

12

USD

0.00

 

 

 

正常的凭证,此处的金额都是零。

查看配置:

进入DEV,集团100,是配置区

进入T-code,FINSC_LEDGER

点击“变更日志”

选择比较久远的开始日期

选择:FINSV_LD_CMP

可以看到“货币头寸OSL”是3,维护时间是2023年12月27号

会计凭证,过账日期是2023年12月20日

点击附加数据,可以看到缺了货币32的金额

 

正确的凭证应该是会有32货币的,“GC/PC 估价金额”

 

SE11查询视图FINSV_LD_CMP,的字段CURPOSO​​​​​​​  对应的底表FINSC_LD_CMP

如果修改底表,FINSC_LD_CMP,把3删去

则可以抛凭证。

此时如果模拟凭证的话,“组货币/利润中心估价”会没有,这样的话借贷就不会不平,可以成功抛凭证。

抛的凭证(此处显示的是其他科目的清账,与上诉例子不完全一样)

此时抛的凭证,与原凭证一样都没有货币32的金额。

  • 15
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值