财务报表版本

5 篇文章 0 订阅
3 篇文章 0 订阅

系统定义了一套会计科目,但是出总账分类账的时候要用到另外一套财务报表版本,如下:

 

clip_image001

这个可以通过标准程序RFGSBSTR输入版本号即可得到这个关系,但是程序如何做这样的转换了?有两个函数非常好用FI_IMPORT_BALANCE_SHEET_TEXTFI_IMPORT_BALANCE_SHEET_POS 一个读文本一个保存二者之间的关系。我写了一个仅限于获取一级科目的函数,如下:

DATA: l_idcn_cdea TYPE idcn_cdea,
        l_idcn_cflea TYPE idcn_cflea.
"获取文本用
DATA: lt_rf011q TYPE STANDARD TABLE OF rf011q,
        ls_rf011q TYPE rf011q.
"获取转换科目用
DATA: lt_rf011z TYPE STANDARD TABLE OF rf011z,
        ls_rf011z TYPE rf011z.
"获取文本信息
CALL FUNCTION 'FI_IMPORT_BALANCE_SHEET_TEXT'
EXPORTING
          sprache              = '1'
          version              = i_version
TABLES
         x011q                = lt_rf011q
*      TSTAMP_TAB           =
*    EXCEPTIONS
*      TEXT_NOT_FOUND       = 1
*      OTHERS               = 2
                .
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
SELECT SINGLE idcn_cflea
FROM idcn_detail_ea
INTO l_idcn_cflea
WHERE idcn_cdea IN ( SELECT idcn_cdea
FROM idcn_map_eas
WHERE saknr = i_racct AND fkber = i_rfarea ).
"判断是否有功能范围
IF sy-subrc = 0.
"科目编号
    e_racct = l_idcn_cflea+0(4).
"获取文本
READ TABLE lt_rf011q INTO ls_rf011q WITH KEY ergsl = l_idcn_cflea BINARY SEARCH.
    e_txt = ls_rf011q-txt45.
* "没有功能范围转换为对应的一级科目和文本
ELSE.
CALL FUNCTION 'FI_IMPORT_BALANCE_SHEET_POS'
EXPORTING
        version                 = i_version
TABLES
       i011z                   =  lt_rf011z
*      X011P                   =
*      X011S                   =
*      X011V                   =
*      X011F                   =
*    EXCEPTIONS
*      NEW_BALANCE_SHEET       = 1
*      OTHERS                  = 2
              .
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDIF.
"找到对应的科目
LOOP AT lt_rf011z INTO ls_rf011z.
IF ls_rf011z-bilkt >= i_racct AND ls_rf011z-vonkt <= i_racct.
exit.
ENDIF.
ENDLOOP.
READ TABLE lt_rf011q INTO ls_rf011q WITH KEY ergsl = ls_rf011z-ERGSO+0(4) BINARY SEARCH.
  e_txt = ls_rf011q-txt45.

自己以前写这类财务的东西,通常自建表,个人觉得达到了可配置的目的。但是毕竟还是没有标准的好,以后都不需要去维护代码了,只需要维护标准的东西即可。这个思路非常好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值