有沒有辦法訪問傳入一個功能模塊的導入參數,而無需單獨解決它們? ABAP是否將它們存儲在某個內部表中,所以我可以通過循環遍歷某些表中的行或結構的字段來處理它們?ABAP如何存儲關於功能模塊接口的信息?
我們可以使用PATTERN函數,只知道函數模塊的名字,讓ABAP爲我們打印出函數模塊的接口,所以我想知道這些信息存儲在哪裏,如果我可以使用它的函數組已加載到內存中。
在此先感謝!
有沒有辦法訪問傳入一個功能模塊的導入參數,而無需單獨解決它們? ABAP是否將它們存儲在某個內部表中,所以我可以通過循環遍歷某些表中的行或結構的字段來處理它們?ABAP如何存儲關於功能模塊接口的信息?
我們可以使用PATTERN函數,只知道函數模塊的名字,讓ABAP爲我們打印出函數模塊的接口,所以我想知道這些信息存儲在哪裏,如果我可以使用它的函數組已加載到內存中。
在此先感謝!
您可以使用功能模塊RPY_FUNCTIONMODULE_READ
來獲取關於功能模塊參數結構的信息,然後動態訪問參數。這有幾個缺點 - 最明顯的是,這樣做的用戶需要(額外的)S_DEVELOP
授權,並且通過這種方式記錄通常會對性能產生嚴重影響。
我寧願手動將功能模塊參數添加到日誌記錄/跟蹤功能一次 - 通過充分通用的方法調用,這並不困難。我也傾向於將各個參數分組爲結構以便於以後的增強。
非常感謝! –
我還發現這個CL_FB_FUNCTION_UTILITY類有一個方法METH_GET_INTERFACE,它將獲得所有參數及其數據類型。 –
請注意,屬於非SAP_BASIS軟件組件的某些實用程序類和函數可能在所有系統中都不可用。 – vwegert
是否要檢查接口或使用動態參數調用功能模塊? – vwegert
我想使用傳遞給功能模塊的參數,而不是逐個解決它們。說,把它們傳遞給FM內的一個子程序是很好的,不用單獨提及它們就能做到。那有意義嗎? –
原因...?在我們的環境中,SAP功能通過我們的SOA應用程序通過RFC訪問 - 爲了驗證/調試目的,返回導入參數的值以及FM的實際輸出將非常有用。我發現自己創建子程序來完成這個任務,並將所有提供給FM的參數傳遞給它們。我想我只是懶惰/尋找更好的方法。我感謝你看我的問題! –