屏幕退出中的"自定义长文本"字段

2020-09-21 12:04发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)全部 我有一个需求,其中...

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

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


全部

我有一个需求,其中需要在屏幕出口处创建自定义的长文本字段。 我能够从这方面的一些SDN帖子中获得指示,并且能够成功创建该字段。 另一个挑战是用户现在要求使用"文本编辑器"按钮,该按钮会将他们带到SAP Script类型的编辑器。 我不确定该如何编码或要采取什么步骤。 感谢有人可以帮助我。 我正在输入当前代码,该代码适用于常规的长文本字段,并且还提供了我想要获得的屏幕截图。

 DATA:gv_line_length TYPE i VALUE 132,

         gv_editor_container类型参考cl_gui_custom_container,

         gv_text_editor类型参考cl_gui_textedit。

   常量ytrue类型i值1。

   如果gv_text_editor是INITIAL。

     创建对象gv_editor_container

       出口

         container_name ='TEXTEDITOR'"编辑者名称

       例外情况

         cntl_error = 1

         cntl_system_error = 2

         create_error = 3

         lifetime_error = 4

         lifetime_dynpro_dynpro_link = 5。

     创建对象gv_text_editor

       出口

         父母= gv_editor_container

         wordwrap_mode = cl_gui_textedit => wordwrap_at_fixed_position

         wordwrap_position = gv_line_length

         wordwrap_to_linebreak_mode = cl_gui_textedit => true。


     调用方法gv_text_editor-> set_toolbar_mode

       出口

         工具栏模式= cl_gui_textedit => false。


     呼叫方法gv_text_editor-> set_statusbar_mode

       出口

         statusbar_mode = cl_gui_textedit => false。

   万一。

   如果gv_text_editor不是INITIAL。

     如果sy-tcode ='QM03'。

       调用方法gv_text_editor-> set_readonly_mode

         出口

           readonly_mode = ytrue。

     万一。

   万一。

 

(1.8 kB)
6条回答
SAP小菜
2020-09-21 12:35

创建自定义屏幕并使用ALV容器。

使用CL_GUI_TEXTEDITOR及其方法可以为屏幕的可视化做准备...

然后,只需调用屏幕即可...
下面是一个应该或多或少起作用的示例:

" TextEditor中的LongText数据...
     创建对象txteditor" CL_GUI_TEXTEDITOR
       出口
         wordwrap_mode = cl_gui_textedit => wordwrap_at_fixed_position
         wordwrap_position = 132
         wordwrap_to_linebreak_mode = cl_gui_textedit => false
         父母= lr_container_txt" CL_GUI_CONTAINER
       例外情况
         error_cntl_create = 1
         error_cntl_init = 2
         error_cntl_link = 3
         error_dp_create = 4
         gui_type_not_supported = 5
         其他= 6。
     如果sy-subrc <> 0。
       "执行Excp.Handling
     万一。

     txteditor-> set_text_as_stream(
       出口
         text = longtexttab" TDLINE-TABLE
       例外情况
         error_dp = 1
         error_dp_create = 2
         其他= 3)。
     如果sy-subrc <> 0。
       "执行Excp.Handling
     万一。

     txteditor-> set_toolbar_mode(
       出口
         toolbar_mode = 0"无工具栏
       例外情况
         error_cntl_call_method = 1
         invalid_parameter = 2
         其他= 3)。
     如果sy-subrc <> 0。
       "执行Excp.Handling
     万一。

     "可能更新StatusBar文本...
     txteditor-> set_status_text(
       出口
         status_text = lv_status_txt
       例外情况
         error_cntl_call_method = 1
         其他= 2)。
     如果sy-subrc <> 0。
       "执行Excp.Handling
     万一。
    
     "调用您的自定义屏幕
     呼叫画面1001。

 输出之前进行处理。
   MODULE status_1001。

 MODULE status_1001 OUTPUT。
   设置PF-STATUS'ZSTATUS'。
   用文本t01设置标题栏" ZTITLE"。

   txteditor-> set_readonly_mode(
     出口
       readonly_mode = cl_gui_textedit => true" ReadOnly
     例外情况
       error_cntl_call_method = 1
       invalid_parameter = 2
       其他= 3)。
   如果sy-subrc <> 0。
     "执行Excp.Handling
     返回。
   万一。

 ENDMODULE。
 


希望这会有所帮助

Nic T。

一周热门 更多>