ABAP程式碼靜態分析工具SQF - Support Query Framework
如果系統裡沒有SQF這個tcode,可以參考note 1814328: SQF: Plug-In for Source Code Scans進行安裝。
ABAP static analysis tool SQF is a static code analysis tool developed in package SUPPORT_QUERY_FRAMEWORK in software component SAP_BASIS.
It contains lots of handy tool or short cut to other system utility tools. The most attractive function which is worthy to put it into my toolset is the static code analysis.
- use tcode SQF, double click on “Source code Analysis”
- Maintain the ABAP object which you would like to do static analysis.
In this example it is function module CRM_PRODUCT_GETLIST2. Specify the object type as well, which could be found in table TADIR. The Analysis Depth 6 means: for example in the implementation of the FM, it calls another FM or subroutine, these delegated calls will also be analyzed by the tool. Say FM calls A and A calls B, B calls C, C calls D, D calls E, E calls F and F calls G, depth = 6 means any further calls starting from F calls G will be ignored.
- Click save button and it is automatically navigated back to SQF main view. Click F8 to execute.
The progress will be displayed in the bottom, the bigger size of depth specified, the more time the analysis will take.
After execution, the color of icon changes from white to blue, which means the analysis result is available.
- The analysis results are categorized into four groups:
a. Call hierarchy, something like the one in SAT.
b. the table read access in static call. Those table read access done via dynamic coding will be listed in group d.
Compare with DB access list analyzed by runtime trace SAT, there are far more entries than the static one. This is not surprising, as in CRM product, the set type access is implemented in a highly dynamic way.
c. interface call:
d. Dynamic coding
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2703102/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ABAP程式碼分析工具 - 事務碼SQF
- 原始碼靜態分析工具:Infer原始碼
- PHP工具箱:PHPStan —— PHP 靜態程式碼分析工具PHP
- 常用Java靜態程式碼分析工具的分析與比較Java
- AbsInt — 確保程式碼安全的靜態效能分析工具
- 什麼情況下需要進行靜態程式分析?常用Java靜態程式碼分析工具的優勢Java
- 改造動態framework為靜態frameworkFramework
- python程式碼檢查工具(靜態程式碼審查)Python
- iOS 靜態庫(.a, .framework) 動態庫(.framework, dylib)iOSFramework
- iOS的Framework靜態庫iOSFramework
- HelixQAC-軟體程式碼靜態測試工具
- 選擇靜態程式碼安全檢測工具指南
- 靜態程式碼檢測工具(SAST)有哪些作用AST
- 靜態程式碼塊
- 實戰iOS-objectivec&swift靜態程式碼分析iOSObjectSwift
- 如何高效實施靜態程式碼檢測工具SAST?AST
- [原創]Java靜態程式碼檢查工具介紹Java
- Java靜態程式碼塊Java
- 靜態代理程式碼示例
- 如何透過靜態分析提高iOS程式碼質量iOS
- 藉助 Webpack 靜態分析能力實現程式碼動態載入Web
- iOS - 靜態庫.a 和 framework 詳解iOSFramework
- 【Lua篇】靜態程式碼掃描分析(一)初步介紹
- ReactFlow程式碼靜態檢查React
- Xcode 6製作動態及靜態FrameworkXCodeFramework
- 使用32位64位交叉編碼混淆來打敗靜態和動態分析工具
- 淺談Java和SAP ABAP的靜態代理和動態代理,以及ABAP面向切面程式設計的嘗試Java程式設計
- MRP清單的動態和靜態ABAP的取法
- ESLint 靜態程式碼檢查EsLint
- 如何用程式碼動態生成ABAP型別型別
- eclipse 匯入靜態類,自動程式碼提示靜態方法Eclipse
- 靜態應用程式安全測試 (SAST) 工具AST
- Anti-靜態分析
- 在 PhpStorm 中使用 PHP Inspections 進行程式碼靜態分析PHPORM行程
- [Erlang03]Erlang有哪些好用的靜態分析工具?
- iOS中的動態庫,靜態庫和framework介紹iOSFramework
- Entity Framework Tutorial Basics(32):Enum SupportFramework
- Entity Framework 6.0 Tutorials(6):Transaction supportFramework