如何重设/刷新先前设置的DTP过滤器

2020-08-14 02:16发布

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

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


你好大师,

我的要求是通过*代码*设置* DTP过滤器值。 我可以设置过滤器值,但不能刷新或重置先前设置的过滤器值。

在上面提到的代码中,

我将DTP过滤器字段"业务区域"的值设置为100,并且已过滤的记录正被传输​​到数据目标。 现在,如果将"业务范围"的值设置为200,它仍然显示"业务范围" = 100的结果。 也就是说,旧的DTP过滤器值不会被删除/刷新。

能否请您建议如何刷新/删除旧值...


 数据:LCL_DTP TYPE REF TO CL_RSBK_DTP,
       LCL_REQUEST TYPE REF到CL_RSBK_REQUEST,
       W_LOC_DTP类型RSBKDTPNM,
       LCL_FILTER类型参考CL_RSBC_FILTER,
       ws_SELTAB TYPE RSBK_S_SELECT,
       rsbk_s_select的g_t_seltab类型表,
       g_t_dtprule类型mch_t_sourcecode,
       g_s_varseltab类型mch_var_select,
       g_t_varseltab类型mch_t_var_select,
       g_s_seltab类型rsbk_s_select,
      g_s_selfields类型为mch_s_field,
      g_t_selfields类型mch_t_field,
      g_r_filter类型参考cl_rsbc_filter。


 *获取DTP参考

  W_LOC_DTP ='DTP_F0FQ2CCPA25RFLIMGD2APDK16'。  " DTP ID
      LCL_DTP = CL_RSBK_DTP => FACTORY(W_LOC_DTP)。

    *获取过滤器参考。

       呼叫方法LCL_DTP-> IF_RSBK_DTP_DISPLAY〜GET_OBJ_REF_FILTER
       接收
       R_R_FILTER = LCL_FILTER。

   明确:
 g_t_seltab,ws_seltab。

 *将DTP筛选器字段业务区域的值设置为100

              ws_SELTAB-FIELD ='BUS_AREA'。
              ws_SELTAB-sign ='I'。
              ws_SELTAB-option ='EQ'。
              ws_SELTAB-low ='100'。

               将WS_SELTAB附加到g_t_seltab。
               清除ws_seltab。

  呼叫方法LCL_FILTER-> SET_SELTAB
       出口
       I_T_SELTAB = g_t_seltab。

 LCL_DTP-> activate()。


 

致谢

Mohit

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

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


你好大师,

我的要求是通过*代码*设置* DTP过滤器值。 我可以设置过滤器值,但不能刷新或重置先前设置的过滤器值。

在上面提到的代码中,

我将DTP过滤器字段"业务区域"的值设置为100,并且已过滤的记录正被传输​​到数据目标。 现在,如果将"业务范围"的值设置为200,它仍然显示"业务范围" = 100的结果。 也就是说,旧的DTP过滤器值不会被删除/刷新。

能否请您建议如何刷新/删除旧值...


 数据:LCL_DTP TYPE REF TO CL_RSBK_DTP,
       LCL_REQUEST TYPE REF到CL_RSBK_REQUEST,
       W_LOC_DTP类型RSBKDTPNM,
       LCL_FILTER类型参考CL_RSBC_FILTER,
       ws_SELTAB TYPE RSBK_S_SELECT,
       rsbk_s_select的g_t_seltab类型表,
       g_t_dtprule类型mch_t_sourcecode,
       g_s_varseltab类型mch_var_select,
       g_t_varseltab类型mch_t_var_select,
       g_s_seltab类型rsbk_s_select,
      g_s_selfields类型为mch_s_field,
      g_t_selfields类型mch_t_field,
      g_r_filter类型参考cl_rsbc_filter。


 *获取DTP参考

  W_LOC_DTP ='DTP_F0FQ2CCPA25RFLIMGD2APDK16'。  " DTP ID
      LCL_DTP = CL_RSBK_DTP => FACTORY(W_LOC_DTP)。

    *获取过滤器参考。

       呼叫方法LCL_DTP-> IF_RSBK_DTP_DISPLAY〜GET_OBJ_REF_FILTER
       接收
       R_R_FILTER = LCL_FILTER。

   明确:
 g_t_seltab,ws_seltab。

 *将DTP筛选器字段业务区域的值设置为100

              ws_SELTAB-FIELD ='BUS_AREA'。
              ws_SELTAB-sign ='I'。
              ws_SELTAB-option ='EQ'。
              ws_SELTAB-low ='100'。

               将WS_SELTAB附加到g_t_seltab。
               清除ws_seltab。

  呼叫方法LCL_FILTER-> SET_SELTAB
       出口
       I_T_SELTAB = g_t_seltab。

 LCL_DTP-> activate()。


 

致谢

Mohit

付费偷看设置
发送

一周热门 更多>