日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【增强】FI行项目报表增强任意字段

發布時間:2025/3/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【增强】FI行项目报表增强任意字段 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

業務背景:例如在FBL1N/FBL3N/FBL5N中顯示總賬科目名稱、供應商名稱1、客戶名稱1

依以下步驟執行:

1.FIBF > Settings > Products > of a Customer

添加所需的field,此處稱為product,同時需要激活勾選Active

2.FIBF > Settings > P/S Mod > of a Customer

添加內容

Event00001650

ProductXXXXXX

CtrSE

Function ModuleZ_FI_ITEMREPORT

注此處所寫入的Function Module需在后續的步驟中去創建。

************************************************************************

此處需要注意一點的是,在product 必須使用上面創建的product

event00001650

productZKNAME1(上面創建的field,用第一個就可以)

fmZ_FI_ITEMREPORT

泣血提醒,如果這個地方設置錯誤,在進入FBL1N\3N\5N時將不會進入自定義的FM,謹記。

************************************************************************

3.Se11Append Structure to?RFPOS

Append Structure中寫入你需要添加的field,保存激活。

4.Se11Append Structure to?RFPOSX

RFPOSX中加入和RFPOS同樣的field,保存激活。

此處這兩個structure則是控制layout的數據。

5.Se37 Creating a?Z_FI_FG?Function Group.

then Copy Function?SAMPLE_INTERFACE_00001650?into?Z_FI_ITEMREPORT

此處的Z_FI_ITEMREPORT請與step2中的名稱一致。

加入code實現:

FUNCTION Z_FI_ITEMREPORT.

*"--------------------------------------------------------------------

*"*"局部接口:

*"? IMPORTING

*"???? VALUE(I_POSTAB) LIKE? RFPOS STRUCTURE? RFPOS

*"? EXPORTING

*"???? VALUE(E_POSTAB) LIKE? RFPOS STRUCTURE? RFPOS

*"--------------------------------------------------------------------

*-------------- Initialize Output by using the following line ----------

? E_POSTAB = I_POSTAB.

*BREAK-POINT.

? data: ZKNAME1?? type LFA1-NAME1,

??????? ZDNAME1?? type KNA1-NAME1,

??????? ZSKATTXT? type SKAT-TXT20.

? "得到供應商名稱1

? IF I_POSTAB-KOART = 'K'.

??? select single NAME1 from LFA1

??????????? into? ZKNAME1

??????? where LIFNR = I_POSTAB-KONTO.

? ENDIF.

? "得到客戶名稱1

? IF I_POSTAB-KOART = 'D'.

??? select single NAME1 from KNA1

??????? into? ZKNAME1

??????? where KUNNR = I_POSTAB-KONTO.

? ENDIF.

? "得到總賬科目名稱

??? select single TXT20 from SKAT

??????? into? ZSKATTXT

??????? where SAKNR = I_POSTAB-HKONT

????????? AND KTOPL = '1000'.

?

? E_POSTAB-ZKNAME1 = ZKNAME1.

? E_POSTAB-ZDNAME1 = ZDNAME1.

? E_POSTAB-ZSKATTXT = ZSKATTXT.

ENDFUNCTION.

6.Se38 Run Report?RFPOSXEXTEND??then click?Yes

此處執行的這個pm,是用來激活前面的兩個structure

在執行的時候,會提示如下頁面

點擊yes執行。

如遇此種報錯

請找Basis查看系統中是否有安裝note 947573

Note控制這個設置。

**********************************************************************

此處修正一點,這個NOTE是不可以解決這個問題的,究竟為什么,因為這個NOTE解決的是報錯 003

至于這個原因是什么,我追究了好久,沒有結果,有的人說是T021S這個表的問題,有的人說是別的NOTE

反正不管了,我給出我的解決方案。

為什么要執行 RFPOSXEXTEND這個程序,其實就是為了將在RFPOS中新增的field加入到結構RFPOSXEXT

那不能執行這個程序難道就不能添加到這個結構中了嗎,當然有更直白的方法,

既然在RFPOSRFPOSX中是采用Append Structure新增field,那么就直接采用Append Structure

field添加到RFPOSXEXT中不久可以了嗎,就這么簡單!

所以最終的結果是在RFPOSRFPOSXRFPOSXEXT三個結構中Append Structure 新增的field,保存激活,OK

此處給我的教訓就是,要弄清楚每一個步驟的意義是什么,否則還是沒有真正學會它。

***********************************************************************

?到此為止,已經可以實現對layout的任意設置,任意TABLE,任意field

總結

以上是生活随笔為你收集整理的【增强】FI行项目报表增强任意字段的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。