是否可以保存多个文本?

2020-08-21 16:01发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我想从一些自定义控件中保存文本。...

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

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


我想从一些自定义控件中保存文本。

当我双击SO Comm Head的简洁列时,将出现用于编辑和保存文本(文本标题和文本项)的模式对话框。

问题是我无法保存两个文本。 这是我的代码

案例SY-UCOMM。
     当"保存"时。
 *刷新gi_dis_longtext。
       调用方法gv_text_editor-> get_text_as_r3table
 *出口
 * ONLY_WHEN_MODIFIED = TRUE
         输入
           表格= gi_dis_longtext
 * IS_MODIFIED = IS_MODIFIED
         例外情况
           error_dp = 1
           error_cntl_call_method = 2
           error_dp_create = 3
           potential_data_loss = 4
           其他= 5。

       如果sy-subrc = 0。
         刷新it_lines。
         环回gi_dis_longtext INTO gw_dis_longtext。
           it_lines-tdformat ='/'。
           it_lines-tdline = gw_dis_longtext-tdline。
           APPEND it_lines。
         结局。
       万一。

       如果it_lines []是INITIAL。
         it_lines-tdformat ='*'。
         it_lines-tdline =''。
         APPEND it_lines。
       万一。

       呼叫方法cl_gui_cfw =>冲洗
         例外情况
           cntl_system_error = 1
           cntl_error = 2
           其他= 3。


         gv_header-tdname = wa_selected-vbeln。
         gv_header-tdid ='ZCOM'。
         gv_header-tdobject ='VBBK'。
         gv_header-tdspras = sy-langu。

         清除p_name_i。
         连接wa_selected-vbeln wa_selected-posnr INTO p_name_i。
         gv_header_i-tdname = p_name_i。
         gv_header_i-tdid ='ZCOM'。
         gv_header_i-tdobject ='VBBP'。
         gv_header_i-tdspras = sy-langu。


       通话功能" SAVE_TEXT"
         出口
           客户= sy-mandt
           标头= gv_header
 * INSERT =''
           savemode_direct ='X'
 * OWNER_SPECIFIED =''
 * LOCAL_CAT =''
 *进口
 *功能=
 * NEWHEADER =
         桌子
           行数= it_lines
         例外情况
           id = 1
           语言= 2
           名称= 3
           对象= 4
           其他= 5。

       通话功能" SAVE_TEXT"
         出口
           客户= sy-mandt
           标头= gv_header_i
 * INSERT =''
           savemode_direct ='X'
 * OWNER_SPECIFIED =''
 * LOCAL_CAT =''
 *进口
 *功能=
 * NEWHEADER =
         桌子
           行数= it_lines
         例外情况
           id = 1
           语言= 2
           名称= 3
           对象= 4
           其他= 5。
      
        
       IF sy-subrc均衡器0。
         执行f_clear_data。
         带有"成功保存"的显示s398(00)的消息,类似于" S"。
         设置屏幕0。
       其他。
         消息s398(00)与'将数据保存到数据库时出错'显示类似'E'。
       ENDIF。

(35.0 kB)
8条回答
My梦
2020-08-21 16:13

是的,save_text可以工作,但是只有一个(仅文本项),我想同时保存(单击保存时同时显示文本标题和文本项)。 因此,我尝试为每个字段保存文本,但还是一样。

这是我的PBO。

模块化pbo输出。
   数据:con_name(20)TYPE c。
   清除con_name。
   con_name ='SO_TXT_HEADER'。
   执行f_create_obj,使用con_name'true'。
   清除con_name。
   con_name ='SO_TXT_ITEM'。
   执行f_create_obj,使用con_name'true'。
 ENDMODULE。

 FORM f_create_obj使用p_con_name p_edit。
   DATA:lv_mode TYPE字符串。
   创建对象gv_editor_container
     出口
       container_name = p_con_name
     例外情况
       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。

   如果p_edit EQ为'false'。
     调用方法gv_text_editor-> set_readonly_mode
       出口
         readonly_mode = 1。
   万一。

   清除p_name_h。

   案例p_con_name。
     当" SO_TXT_HEADER"时。
       p_name_h = wa_selected-vbeln。
       使用p_name_h'ZCOM''VBBK'来执行f_read_text。
     当" SO_TXT_ITEM"时。
       连接wa_selected-vbeln wa_selected-posnr INTO p_name_i。
       使用p_name_i'ZCOM''VBBP'执行f_read_text。
   结束。

   刷新gi_dis_longtext。
   清除gw_dis_longtext。

   环聊it_lines。
     gw_dis_longtext-tdline = it_lines-tdline。
     附加gw_dis_longtext至gi_dis_longtext。
     清除gw_dis_longtext。
   结局。

   调用方法gv_text_editor-> set_text_as_r3table
     出口
       表格= gi_dis_longtext
     例外情况
       其他= 1。
 ENDFORM。


 FORM f_read_text使用p_name p_id p_obj。

   通话功能" READ_TEXT"
     出口
       客户= sy-mandt
       id = p_id
       语言= sy-langu
       名称= p_name
       对象= p_obj
 * ARCHIVE_HANDLE = 0
 * LOCAL_CAT =''
 *重要
 *标题=
 * OLD_LINE_COUNTER =
     桌子
       行数= it_lines []
     例外情况
       id = 1
       语言= 2
       名称= 3
       not_found = 4
       对象= 5
       reference_check = 6
       错误_访问_存档= 7
       其他= 8。

 ENDFORM。

一周热门 更多>