现在的位置: 首页 > 综合 > 正文

通过程序实现SMARTFORMS文本编辑模式在WORD和TEXT文本之间转换

2013年12月13日 ⁄ 综合 ⁄ 共 2334字 ⁄ 字号 评论关闭

实际使用SMARTFORMS过程中,会出现需求:把SF的文本编辑模式由WORD转换为TEXT,或者由TEXT转换为WORD,通过事务代码I18N修改,有时候发现操作较为麻烦,这里提供一个通过程序修改实现的实例,将如下代码直接COPY到SE38或者SE80中,激活执行即可。

*&---------------------------------------------------------------------*
*& Report  zswitch_edit_mode
*&
*&---------------------------------------------------------------------*
*& 描述:转换SMARTFORMS的文本编辑模式
*&
*&---------------------------------------------------------------------*

REPORT zswitch_edit_mode.

************************************************************************
* 定义选择屏幕
************************************************************************
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.  "选择文本编辑模式
PARAMETER:p_text RADIOBUTTON GROUP g1 USER-COMMAND c1 DEFAULT 'X', "以TEXT模式显示SMARTFORMS编辑文本
          p_msword RADIOBUTTON GROUP g1.                           "以WORD模式显示SMARTFORMS编辑文本
SELECTION-SCREEN END OF BLOCK blk1.

SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002. "注意事项
SELECTION-SCREEN  BEGIN  OF LINE.
SELECTION-SCREEN: COMMENT 1(79) warning1.
SELECTION-SCREEN  END  OF LINE.
SELECTION-SCREEN END OF BLOCK blk2.

************************************************************************
* Initialization
************************************************************************
INITIALIZATION.

  warning1 = '【注意】请退出当前SMARTFORMS事务代码,重新进入!'.

************************************************************************
* START-OF-SELECTION
************************************************************************
START-OF-SELECTION.
  PERFORM switch_edit_mode.
*&---------------------------------------------------------------------*
*&      Form  SWITCH_EDIT_MODE
*&---------------------------------------------------------------------*
*       转换SMARTFORMS文本编辑模式
*----------------------------------------------------------------------*
FORM switch_edit_mode .
*更改SMARTFORMS编辑模式为TXT编辑模式
  IF p_text = 'X'.
    CALL METHOD cl_i18n_system_settings=>maintain_tcp0i
      EXPORTING
        im_history = space
        im_name    = cl_i18n_system_settings=>c_tcp0i_name_smartforms_editor
        im_value   = ''.

    IF sy-subrc = 0.
      MESSAGE 'SMARTFORMS编辑模式已转换为TEXT模式' TYPE 'S'.
    ENDIF.
  ENDIF.

*更改SMARTFORMS编辑模式为MSWord模式
  IF p_msword = 'X'.
    CALL METHOD cl_i18n_system_settings=>maintain_tcp0i
      EXPORTING
        im_history = space
        im_name    = cl_i18n_system_settings=>c_tcp0i_name_smartforms_editor
        im_value   = 'MSWord'.

    IF sy-subrc = 0.
      MESSAGE 'SMARTFORMS编辑模式已转换为MSWord模式' TYPE 'S'.
    ENDIF.

  ENDIF.
ENDFORM.                    " SWITCH_EDIT_MODE

抱歉!评论已关闭.