SAPUI5 Source Code Scan

        懂得都懂,客制化FIORI 的UI5代码都是放在服务器上面的,和ABAP代码存放的地方是差不多的,可能就具体的表不同罢了。有一天突发奇想,既然有ABAP Source Scan ,为什么没有一个UI5 Scan 程序扫描一下UI5代码方便我们更加容易找到代码。比如说我要找下OData在哪个项目里面用到,是不是就得用得上场了。Talk is cheap .Yah,给各位老哥和Young Blood上代码。

*&---------------------------------------------------------------------*
*& Report YTESTSJR003
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT YTESTSJR003.
TABLES:O2PAGDIR.SELECT-OPTIONS: S_APPL FOR O2PAGDIR-APPLNAME. "BSP项目名
SELECT-OPTIONS: S_PAGE FOR O2PAGDIR-PAGEKEY.  "BSP页面名
PARAMETERS: P_PTRN  TYPE STRING OBLIGATORY.  "ptrn  与关系,表示同时出现在项目中
PARAMETERS: P_PTRN1 TYPE STRING OBLIGATORY.  "ptrn  与关系,表示同时出现在项目中PARAMETERS: CK_RGX TYPE C AS CHECKBOX ."正则表达式匹配START-OF-SELECTION.PERFORM RUN_REPORT.FORM RUN_REPORT.DATA:LS_PAGE_KEY    TYPE O2PAGKEY,LT_PAGE_SOURCE TYPE O2PAGELINE_TABLE.DATA : LV_PAGE_CODE TYPE STRING.DATA: CLS_MATCHER TYPE REF TO CL_ABAP_MATCHER,LV_MATCH    TYPE C LENGTH 1,LV_MATCH1   TYPE C LENGTH 1.SELECT APPLNAME, PAGEKEYFROM O2PAGDIRWHERE APPLNAME IN @S_APPLAND PAGEKEY IN @S_PAGEINTO TABLE @DATA(LT_BSP_PAGES).CHECK SY-SUBRC = 0.LOOP AT LT_BSP_PAGES REFERENCE INTO DATA(LD_BSP_PAGE).CLEAR LT_PAGE_SOURCE.CLEAR LV_PAGE_CODE.MOVE-CORRESPONDING LD_BSP_PAGE->* TO LS_PAGE_KEY.CALL METHOD CL_BSP_API_GENERATE=>BSP_API_GET_PAGEEXPORTINGP_PAGEKEY = LS_PAGE_KEYIMPORTINGP_SOURCE  = LT_PAGE_SOURCE.LOOP AT LT_PAGE_SOURCE INTO DATA(LS_LINE).TRANSLATE LS_LINE TO UPPER CASE.CONCATENATE LV_PAGE_CODE LS_LINE  INTO LV_PAGE_CODE.ENDLOOP.IF CK_RGX EQ 'X'.IF P_PTRN IS NOT INITIAL.CLS_MATCHER = CL_ABAP_MATCHER=>CREATE( PATTERN     = P_PTRNTEXT        = LV_PAGE_CODE ).LV_MATCH = CLS_MATCHER->MATCH( ).ENDIF.IF P_PTRN1 IS NOT INITIAL.CLS_MATCHER = CL_ABAP_MATCHER=>CREATE( PATTERN     = P_PTRN1TEXT        = LV_PAGE_CODE ).LV_MATCH1 = CLS_MATCHER->MATCH( ).ENDIF.IF LV_MATCH IS NOT INITIAL and LV_MATCH1 IS NOT INITIAL .WRITE: / LS_PAGE_KEY-APPLNAME, LS_PAGE_KEY-PAGEKEY, ' contains searched pattern'.ENDIF.ELSE.IF LV_PAGE_CODE  CP P_PTRN  AND  LV_PAGE_CODE CP P_PTRN1 .WRITE: / LS_PAGE_KEY-APPLNAME, LS_PAGE_KEY-PAGEKEY, ' contains searched pattern'.ENDIF.ENDIF.ENDLOOP.
ENDFORM.


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部