如何使用CL_GUI_SOURCEEDIT着色或突出显示?

2020-08-18 23:32发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,我想突出显示一个源代码,例如事务SCOV确实可以显示覆盖率代码。

交易使用类CL_SCOV_GUI_SOURCEEDIT_STMNT(继承自CL_GUI_SOURCEEDIT),但此类与SCOV数据高度集成。

所以我想使用CL_GUI_SOURCEEDIT,但是我看不到任何方法可以进行调试...调试后,我找到了该方法(它应该这样做但在内部却使用了罕见的功能

 METHOD lexer_send_color_info。
     数据:lt_data类型cvt_stmnt_cov_meta_data。

 *获取突出显示信息
     lt_data = mo_stmnt_data_container-> get_stmnt_cov_meta_data()。

 *创建数据提供者对象
     通话功能'DP_CREATE'
       改变
         h_dp = m_h_dp。

     通话功能" DP_SEND_TABLE"
       出口
         h_dp = m_h_dp
       桌子
         数据= lt_data。

 *在dataprovider对象中获取信息
     call_method(method ='SendLexerCommand'
                  p_count = 4
                  p1 = 1" nCommand:SEND_COLOR_INFO
                  p2 = 0
                  p3 = 0
                  p4 = m_h_dp)。

 *再次销毁dataprovider对象
     通话功能'DP_DESTROY'
       改变
         h_dp = m_h_dp。

   终结法。  " LEXER_SEND_COLOR_INFO 

有没有人现在如何完成此任务??? 我试图做同样的事情,但没有成功

谢谢

screenshot-2.jpg (33.8 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,我想突出显示一个源代码,例如事务SCOV确实可以显示覆盖率代码。

交易使用类CL_SCOV_GUI_SOURCEEDIT_STMNT(继承自CL_GUI_SOURCEEDIT),但此类与SCOV数据高度集成。

所以我想使用CL_GUI_SOURCEEDIT,但是我看不到任何方法可以进行调试...调试后,我找到了该方法(它应该这样做但在内部却使用了罕见的功能

 METHOD lexer_send_color_info。
     数据:lt_data类型cvt_stmnt_cov_meta_data。

 *获取突出显示信息
     lt_data = mo_stmnt_data_container-> get_stmnt_cov_meta_data()。

 *创建数据提供者对象
     通话功能'DP_CREATE'
       改变
         h_dp = m_h_dp。

     通话功能" DP_SEND_TABLE"
       出口
         h_dp = m_h_dp
       桌子
         数据= lt_data。

 *在dataprovider对象中获取信息
     call_method(method ='SendLexerCommand'
                  p_count = 4
                  p1 = 1" nCommand:SEND_COLOR_INFO
                  p2 = 0
                  p3 = 0
                  p4 = m_h_dp)。

 *再次销毁dataprovider对象
     通话功能'DP_DESTROY'
       改变
         h_dp = m_h_dp。

   终结法。  " LEXER_SEND_COLOR_INFO 

有没有人现在如何完成此任务??? 我试图做同样的事情,但没有成功

谢谢

screenshot-2.jpg (33.8 kB)
付费偷看设置
发送
3条回答
渐行渐远_HoldOn
1楼-- · 2020-08-19 00:13

我从CL_GUI_SOURCEEDIT创建了自己的子类,但是我的问题是我不知道如何为其着色,并且我不能将CL_SCOV_GUI_SOURCEEDIT_STMNT用作父类,因为构造函数已经需要与我赢得的SCOV交易相关的信息

我试图仅模仿CL_SCOV_GUI_SOURCEEDIT_STMNT的"着色"方法,但没有运气。我不知道DP_CREATE ...和DP_SEND_TABLE与我所看到的与"数据提供者"如何相关 "。

哎,真难
2楼-- · 2020-08-19 00:06

我会做的事情:

  • 首先:通过调试,获取变量LT_DATA的内容,在您的计算机中重现相同的内容 类,并显示与屏幕快照完全相同的ABAP代码,并且应该重现相同的颜色。
  • 第二:了解LT_DATA内容与源代码中着色内容之间的关系, 能够做任何您想做的事。

或者您是说要获取实例m_h_dp很复杂? 还是其他?

3楼-- · 2020-08-19 00:05

是的,这就是我所做的。 lt_data将行和列从头到尾对齐,这是必须突出显示的信息。

我复制了完全相同的东西。

是的,它在该DP_CREATE中分配了属性m_h_dp,并且包含非常奇怪的信息

SCOV

我的课,它的接缝非常相似。

然后调用功能'DP_SEND_TABLE'相同,没有错误,但没有突出显示。 我不知道。

一周热门 更多>