赛跑网

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 645|回复: 0

[FICO] 如何在预制凭证时检查借贷平衡

[复制链接]
发表于 2021-10-19 17:36:18 | 显示全部楼层 |阅读模式
我们知道在做会计凭证时,借贷不平是保存不了的,但是预制凭证时借贷不平是可以保存的。现在用户要求在预制时借贷就要做不平的检查,实现方法:
1,在用户ID的参数里加下面的参数:
FO2         X  X X     X    XX

微信图片_20211019173358.png

2,通过OB28写校验,在写完全凭证里。
微信图片_20211019173554.png

代码如下:

FORM u002  USING bool_data TYPE gb002_015
          CHANGING b_result.

  DATA : lv_wrbtr_s TYPE wrbtr,
         lv_wrbtr_h TYPE wrbtr,
         lv_dmbtr_s TYPE dmbtr,
         lv_dmbtr_h TYPE dmbtr.

  DATA : ls_bseg TYPE bseg.

  IF sy-tcode EQ 'FBV1'." F-65
    LOOP AT bool_data-bseg INTO ls_bseg.

      IF ls_bseg-shkzg EQ 'S'.
        lv_wrbtr_s = lv_wrbtr_s + ls_bseg-wrbtr.
        lv_dmbtr_s = lv_dmbtr_s + ls_bseg-wrbtr.
      ELSE.
        lv_wrbtr_h = lv_wrbtr_h + ls_bseg-wrbtr.
        lv_dmbtr_h = lv_dmbtr_h + ls_bseg-wrbtr.
      ENDIF.
      b_result = b_true.
    ENDLOOP.

    IF abs( lv_wrbtr_s ) NE abs( lv_wrbtr_h ).
      b_result = b_false.
      MESSAGE '借贷凭证金额不一致!' TYPE 'S' DISPLAY LIKE 'E'.
    ENDIF.

    IF abs( lv_dmbtr_s ) NE abs( lv_dmbtr_h ).
      b_result = b_false.
      MESSAGE '借贷本位币金额不一致!' TYPE 'S' DISPLAY LIKE 'E'.
    ENDIF.

    IF b_result NE b_false.
      b_result = b_true.
    ENDIF.


  ENDIF.



ENDFORM.

最近访客

  • wx_47322
    2023-06-13
  • 2022-08-23
  • 2022-02-27
  • wx_34175
    2022-01-26
  • tbb1177
    2022-01-26
  • sapxf
    2022-01-18
  • 快乐小鱼
    2022-01-15
  • tjulcl
    2022-01-04
  • admin
    2021-10-20




上一篇:根据物料主数据确定需求类型
下一篇:BP Grouping-限制BP创建不同的分组
本楼点评(0) 收起
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|联系我们|赛跑网 ( QQ:108519493QQfsq

GMT+8, 2024-11-1 07:33 , Processed in 0.184159 second(s), 42 queries .

Powered by 91SAP X3.4

© 2001-2023 91sap Team.

快速回复 返回顶部 返回列表