打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一个占据SAP BSP应用占据存储空间的小工具

Today one of my colleague asks me whether there is some tool which can allow us to get a draft estimation on the size of a BSP application. As far as I know there is no such tool, so I write one by myself. This tool simply fetches source code of all artifacts belonging to a specified BSP application ( js, html, css etc ), accumulate the total number of characters returned by strlen().

You can simply create a report and paste the source code from this blog, execute it by specifying the BSP application name:

And the total number of characters in this BSP application is displayed:

According to ABAP help, in Unicode system 1 char occupies 2 bytes:

So in the example below the BSP application CRM_OPPRTNTY occupies at least 2011344 * 2 = 4022688 bytes. Source code of report:

REPORT zbsp.PARAMETERS: bspname TYPE o2pagdir-applname OBLIGATORY DEFAULT 'CRM_OPPRTNTY'.TYPES:     BEGIN OF ty_view_source,       applname TYPE o2pagdir-applname,       pagekey  TYPE o2pagdir-pagekey,       source   TYPE o2pageline_table,     END OF ty_view_source .TYPES:  tt_view_source TYPE STANDARD TABLE OF ty_view_source WITH KEY  applname pagekey .DATA: ls_pagecon_key TYPE o2pconkey,  lt_view_source TYPE tt_view_source,  lv_total TYPE i VALUE 0,  lv_each TYPE i.FIELD-SYMBOLS: <line> LIKE LINE OF lt_view_source.START-OF-SELECTION.  PERFORM main.FORM main.  SELECT applname pagekey FROM o2pagdir INTO CORRESPONDING FIELDS OF TABLE     lt_view_source WHERE applname = bspname.  ls_pagecon_key-objtype = 'PD'.  ls_pagecon_key-version = 'A'.  LOOP AT lt_view_source ASSIGNING <line>.    ls_pagecon_key-applname = <line>-applname.    ls_pagecon_key-pagekey = <line>-pagekey.    IMPORT content    TO  <line>-source       FROM DATABASE o2pagcon(tr) ID ls_pagecon_key       ACCEPTING PADDING IGNORING CONVERSION ERRORS.    PERFORM get_char_number USING <line>-source CHANGING lv_each.    lv_total = lv_total + lv_each.    WRITE: / <line>-pagekey COLOR COL_NEGATIVE, lv_each COLOR COL_KEY.  ENDLOOP.  WRITE: / 'total number of characters: ' COLOR COL_NEGATIVE , lv_total COLOR COL_GROUP.ENDFORM.                    "MAINFORM get_char_number USING it_source TYPE o2pageline_table CHANGING cv_size TYPE i.  CLEAR: cv_size.  FIELD-SYMBOLS: <source> LIKE LINE OF it_source.  LOOP AT it_source ASSIGNING <source>.    cv_size = cv_size + strlen( <source> ).  ENDLOOP.ENDFORM.                    "GET_CHAR_NUMBER
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Unit
迅为2K系列开发板pmon BSP移植-配置风扇 PWM
世界著名LOGO标志欣赏
vxworks FAQ(中文)
[Linux]常用命令“ll”失效或命令未找到
IT规划,并不是个新事物
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服