Created by Jerry Wang, last modified on Jun 28, 2014
- 创建一个package,该package里包含的ABAP objects将会受到business function的控制。比如新建一个customizing activity并将其存储在该package下,则business function 打开时,该activity可见,否则不可见。
- tcode SFW1, 创建一个新的business switch:
将step1创建的package assign给该business switch。
此处还需要将该switch assign给business function,因此需要在下一步骤新建一个business function
- tcode SFW2,创建一个新的business function, 类型选择为G:
将step2创建的business switch assign进来:
回到SFW1里查看switch 状态为off:
4. 使用ABAP class CL_ABAP_SWITCH 在代码里检查switch 状态.
F代表off
使用tcode SFW5 通过激活business function的方式来激活switch.
点击checkbox来激活business function:
激活以后:
再回到SFW1检查status已经变成on:
如果有ABAP class存储在被switch控制的package内,即使switch关掉,该ABAP也能够被正常调用。
但是如果一个BAdI implementation 存储在被switch控制的package内,switch就可以控制该BAdI implementation runtime时是否被调用:
即使Implementation is active的checkbox勾上,但是当switch 关掉时,该BAdI implementation仍然是处于deactivate状态的。