天天看點

SAP WebClient UI源代碼搜尋工具

The source code scan report RS_ABAP_SOURCE_SCAN ( or transaction code CODE_SCANNER ) is a good tool for ABAPers.

In my Webclient UI development life, I would also expect that there is also a similar tool which enable the scan on html source code of ui component view, forexample I want to search by keyword “ActiveXObject” to get a list of ActiveX control used in Javascript code.

SAP WebClient UI源代碼搜尋工具

Why RS_ABAP_SOURCE_SCAN could not support html source code scan

In the beginning I plan to enhance RS_ABAP_SOURCE_SCAN instead of development a new tool. All the objects( class, report, function module) which supported by this tool could have their source code read out via keyword READ REPORT.

SAP WebClient UI源代碼搜尋工具

this is not the case for handler class of ui component view. Although you could still set breakpoint on the ABAP code in view handler class and debug them,

SAP WebClient UI源代碼搜尋工具

however they are stored in a difference way than normal ABAP class /report, thus it is not possible to fetch their source code from repository via READ REPORT. Besides that you can easily observe the page editor are quite different from normal ABAP Editor for class/report/function module, which means if I enhance RS_ABAP_SOURCE_SCAN, I also need to enhance the navigation logic after I double click on the result list to see the source code in ABAP editor.

So finally I decide to develop a tool on my own.

Develop a tool to allow scan on UI component view source code

There are only two parameters for code scan: Search keyword and UI component whose BSP view’s html source you expect to scan.

SAP WebClient UI源代碼搜尋工具

You could specify multiple UI component via selection options:

SAP WebClient UI源代碼搜尋工具

The search result is displayed in ALV. Double click on result row,

SAP WebClient UI源代碼搜尋工具

and it will automatically navigate to the BSP view editor with the very line which contains the search keyword being highlighted as below:

SAP WebClient UI源代碼搜尋工具

This tool has simple input and output UI, but it has already 100% fulfilled my html source code scan requirement.

SAP WebClient UI源代碼搜尋工具

How to make this tool run on your laptop

create a new Z report and copy the source code from attached text file. This tool contains the following parts:

(1) an executable report zbsp_code_view

(2) a global class ZCL_BSP_CODE_TOOL

(3) a function module ZCALL_EDITOR. Of course you should also have a function group, in my case it is named as zbspeditor.

(4) a new screen 0101 used in FM ZCALL_EDITOR.

Flow logic:

SAP WebClient UI源代碼搜尋工具

Element list:

SAP WebClient UI源代碼搜尋工具

layout design:

SAP WebClient UI源代碼搜尋工具

Feel free to adapt this tool to meet your own requirement

繼續閱讀