[置顶] CRM开发要点(一)

从本文开始陆续整理下CRM的开发要点。

CRM的UI基本框架如下图所示。

[置顶] CRM开发要点(一)_第1张图片

A顶部标题区域;B左侧导航区域;C中间工作区域。

AB连在一起SAP称为L形区域,这一块的内容是由系统管理的,用户不能自定义。

[置顶] CRM开发要点(一)_第2张图片

如上图标记的内容为L形区域的主要功能,这些功能都可以用SPRO配置。


现在主要介绍下C区域。一般来说通过点击B导航区域都是会指向某个特定的

Work Center工作中心。这个工作中心可以理解为一个事物代码,用来具体做某件

事情。比如,下订单,审批工作流,查报表。

一个工作中心都是对应一个具体的UI组件,具体是哪个组件在页面上选中任意

字段后按【F2】就能看到。知道了组件名,就可以在GUI用事物代码BSP_WD_CMPWB

查询整个组件的内容。

一个组件必然有一个Window,一个Window必然有一个View。尽管我们通过

导航栏参数文件的配置是配的组件,但实际上显示的是这个组件对应的其某个特定

Window的内容;而这个Window的初始显示的内容一定是其默认View。

View有很多种类型,常用的有OVP,ViewSet,View。

一般来说,默认的View都是OVP或者ViewSet,因为简单的View没有布局。

OVP和ViewSet布局功能是有区别的。OVP的布局可以是单栏也可以是双栏,

可以通过配置灵活的设置其含有的View的显示与隐藏;ViewSet不能配置其内部的

View,但是由于是表格形配置,它的布局非常灵活,想想html的Table标签就明白了。

一般SAP的标准组件都是用的OVP形式。如下图所示为OVP的主要内容。

[置顶] CRM开发要点(一)_第3张图片

一个CRM标准的工作中心一般由两部分组成,页面最上面的Header area和其下面

若干Assignment Blocks(ABs)。这两者其实都是View实现的,不同点在于一个是

把数据展现为Form形式,一个展现为Table形式。

一般开发的要求是把功能也就是按钮事件写在toolbar上面。相应的写代码的地方

在View的IF_BSP_WD_TOOLBAR_CALLBACK~GET_BUTTONS事件和

IF_BSP_WD_DYN_BTN_CONTROL~GET_LOCAL_TOOLBAR_BUTTONS事件。

简要贴两组加按钮事件代码示例。

METHOD if_bsp_wd_dyn_btn_control~get_local_toolbar_buttons.
*CALL METHOD SUPER->IF_BSP_WD_DYN_BTN_CONTROL~GET_LOCAL_TOOLBAR_BUTTONS
*  RECEIVING
*    RT_RESULT =
*    .

  DATA: ls_button TYPE crmt_thtmlb_button.

    CLEAR:ls_button.
    ls_button-type     = cl_thtmlb_util=>gc_icon_save.      "#EC NOTEXT
    ls_button-on_click = 'SAVE'.
    ls_button-enabled  = abap_true.
    ls_button-id       = 'SAVE'.
    ls_button-text     = '保存并返回'.
    APPEND ls_button TO rt_result.

    CLEAR:ls_button.
    ls_button-type     = cl_thtmlb_util=>gc_icon_cancel.    "#EC NOTEXT
    ls_button-on_click = 'CANCEL'.
    ls_button-enabled  = abap_true.
    ls_button-id       = 'CANCEL'.
    ls_button-text     = '取消'.
    APPEND ls_button TO rt_result.

ENDMETHOD.


METHOD if_bsp_wd_toolbar_callback~get_buttons.
  CALL METHOD super->if_bsp_wd_toolbar_callback~get_buttons
    RECEIVING
      rt_buttons = rt_buttons.

  FIELD-SYMBOLS: <ls_button> TYPE crmt_thtmlb_button_ext.

  LOOP AT rt_buttons ASSIGNING <ls_button>.
    CASE <ls_button>-on_click.

      WHEN  'new' .
        <ls_button>-enabled = abap_false.
   ENDCASE.
  ENDLOOP.

ENDMETHOD.

[置顶] CRM开发要点(一)_第4张图片
AB是一个很重要的页面内容。它的主要功能点如上图所示:

1.标题可以提示本AB主要补充的是组件的什么内容;

2.自定义按钮可以对列进行调整,拖拽也是可以的;

3.排序和筛选也是必不可少的功能;

4.可以通过配置在每行开头配上删除和修改按钮;

5.可以配置每个page的行数,如果超过AB会自动分页;

6.为了页面美观或者布局,可以把AB折叠起来。


你可能感兴趣的:(UI,组件,crm,view,SAP)