如何使用此工具注意构建基块等等et\U cwbntstxt文件埃图文本数据有效的埃图cwbntci固定的埃图cwbntgattr埃图cwbcidpndc埃图et\ U cwbcmtext公司包装SCWN这个工具和tcodesnote的区别——为什么我要写它?
虽然我已经在ABAP上工作了几年,但是我对SAP note的技术设计不是很了解,因为作为一个应用程序开发人员,我大部分时间都是负责bug的修复,把修正指令放到note中发布,然后我们的客户就可以在他们的系统中应用它了。
但是最近我的团队遇到了一些技术问题,就是我们的客户在他们的系统中应用我们的note时遇到了一些问题,免费云服务器,这促使我对SAP note design有了更详细的了解。
我以我负责的这个note 2184333为例:
为了研究SAP note的技术设计,我写了一个简单的分析工具
只要运行一个报告,阿里大数据,从这个链接可以找到它的源代码,然后执行报告,并指定注释编号:2184333
一旦执行,报告将下载注释作为一个压缩的二进制流,大数据怎么用,显示这个压缩流的大小,然后解压,允许您详细查看注释的构建基块。最后,未压缩数据的大小也会显示出来。
以Note2184333为例,下载了大约137KB,解压后,什么是云,大小会膨胀到742KB左右。
请注意,这个工具只是给你一个关于note静态大小的初步估计。不考虑对内部表、字符串等深层数据对象进行内存管理的运行时开销
解压后的note内容实际上是一个xml文件,可以通过功能模块SCWN\u note\u UNPACK\u xml进行解析:
et\u cwbnthead
note header data。在导出FM SCWN\u note\u UNPACK\u XML的参数et\u cwbnthead时,如何维护票据表头信息见下图
et\u cwbntstxt
多语言票据倾斜
et\u htmltext
包含多语言html格式的票据正文。每种语言的内容都存储在一行中。
et\U cwbntdata
包含多种语言的注释正文。每种语言的内容都存储在一个单独的内部表中。
et\U cwbntvalid
包含注释有效性信息。在这个信息中,组件键:16929,我们可以从表CWBCMPNT中找到它的描述。BBPCRM为63.
如何理解BBPCRM的DEALEID V 244?
从这个表中我们可以知道"244"代表713.
et\U cwbntci
包含修正指令头信息。
et\U cwbntfixed
支持包和补丁信息。
et\U cwbntgattr
注意状态和错误类别等属性:
et\U cwbcidpndc
包含修正指令的依赖项信息。
et\U cwbciobj
带TADIR键的更正指令对象列表:
et\U cwbcmtext
您也可以从这个内部表中获得63和16929的描述。
变量LV\U code\U delta\U BIN中包含的详细代码增量更改
下面用蓝色矩形标记的区域是我们的客户可以看到的代码增量更改注释浏览器,红色区域是通过XML浏览器检查的变量lv_code_delta_bin的一部分。增量代码更改由两部分组成:
1。删除关键字"导入";
2。插入两行"it\u customer\u h=it\u customer\u h"和"IMPORTING"。
从图中我们可以清楚地看到,插入或删除的代码片段有相应的XML标记(我更愿意称之为"directive"),这样节点工具就可以知道应该对这些片段执行什么操作。同时,上下文(行号38)也是已知的,这样节点工具也可以知道应该在哪里应用增量更改。
包SCWN
一旦您将注释下载到系统中,您可以查看从属于软件包SCWN的透明表中下载的注释的详细信息。
由于您看到此工具的大部分源代码来自tcode SNOTE,在我看来,有两点值得花点精力来编写此工具:
1。我最喜欢的一种调查主题/问题的方法是:编写一个报告来处理主题/问题,企业管理平台软件,并使用tcode SAT在跟踪模式下运行报告。利用SAT的强大功能,有一个选项卡"处理块",它在树层次视图中给我一个非常清晰的方法/函数调用的大图。
当然SAT也启用了但是,为了直接测量tcode SNOTE,这种方法并不有效,因为我不感兴趣的许多其他东西(如事务处理、SAPGUI相关处理等)也被测量并包含在SAT跟踪文件中将这两个逻辑的代码放入一个自定义报表中,排除所有其他内容,然后集中在这些核心内容上,即
2。SNOTE不提供为用户提供下载便笺大小的草稿估计的功能。既然我已经写了报告,我对它拥有完全的所有权,所以我可以在报告中添加任何我想添加的特性。作为一名开发人员,有时我们会发现需要自己编写一些工具来实现自动化,以提高我们的日常工作效率。如果我们经常练习有目的地将标准tcode的代码提取到我们自己的定制报表中,那么从长远来看,我们的代码自适应能力将会提高。