欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

SAP读取财务报表版本的标准函数

发布时间:2025/3/20 43 豆豆
生活随笔 收集整理的这篇文章主要介绍了 SAP读取财务报表版本的标准函数 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

系统定义了一套财务报表版本,如果基于财务报表版本来出具财务报表呢?

这个可以通过标准程序RFGSBSTR输入版本号即可得到这个关系,但是程序如何做这样的转换了?有两个函数非常好用FI_IMPORT_BALANCE_SHEET_TEXT 和FI_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.

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


总结

以上是生活随笔为你收集整理的SAP读取财务报表版本的标准函数的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。