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读取财务报表版本的标准函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ABAP--通过LDB_PROCESS函
- 下一篇: 触发ALV事件时报错MOVE_TO_LI