ABAP Business switc和business function简介

195 阅读1分钟

Created by Jerry Wang, last modified on Jun 28, 2014

  1. 创建一个package,该package里包含的ABAP objects将会受到business function的控制。比如新建一个customizing activity并将其存储在该package下,则business function 打开时,该activity可见,否则不可见。
    clipboard1
  2. tcode SFW1, 创建一个新的business switch:
    clipboard2
    将step1创建的package assign给该business switch。

clipboard3
此处还需要将该switch assign给business function,因此需要在下一步骤新建一个business function

  1. tcode SFW2,创建一个新的business function, 类型选择为G:
    clipboard4
    将step2创建的business switch assign进来:
    clipboard5
    回到SFW1里查看switch 状态为off:

clipboard6
4. 使用ABAP class CL_ABAP_SWITCH 在代码里检查switch 状态.

F代表off
clipboard7

使用tcode SFW5 通过激活business function的方式来激活switch.

点击checkbox来激活business function:
clipboard8
激活以后:
clipboard9
再回到SFW1检查status已经变成on:

clipboard10
clipboard11

如果有ABAP class存储在被switch控制的package内,即使switch关掉,该ABAP也能够被正常调用。

但是如果一个BAdI implementation 存储在被switch控制的package内,switch就可以控制该BAdI implementation runtime时是否被调用:
clipboard12
即使Implementation is active的checkbox勾上,但是当switch 关掉时,该BAdI implementation仍然是处于deactivate状态的。

clipboard13