|
果然是好贴,有一些小想法和补充,本人对SAP和SBO不太熟悉,单纯从T-SQL和编程的角度探讨,呵呵!
想法一:
考虑到SBO_SP_TransactionNotification在系统中的重要性和粒度,也为了提高可维护性,建议把自定义的代码写在新建的存储过程中,然后在SBO_SP_TransactionNotification中加以调用,例如:
UserExtendTransactionNotification是我们自定义的存储过程,把各个参数依次传递过去,这样效率上可能有所损失,但以后维护相对比较方便和安全一点,如果不用,直接将此调用语句注释了即可.
EXEC UserExtendTransactionNotification @objectType=@object_type ,@transactionType=@transaction_type,@numOfColsInKey=@num_of_cols_in_key,@listOfKeyColsTabDel=@list_of_key_cols_tab_del, @listOfColsValTabDel=@list_of_cols_val_tab_del
想法二:
创建一个自定义的Even表,字段参照@object_type ,@transaction_type,@num_of_cols_in_key,@list_of_key_cols_tab_del, @list_of_cols_val_tab_del 创建,然后在行新增上创建触发器,触发器触发具体的行为(可为存储过程,也可以是函数),然后在SBO_SP_TransactionNotification中更新这个表,从而引发具体的扩展行为。
不过这方案的问题是这个Even表的维护问题很大,随着SBO_SP_TransactionNotification被频繁调用,行也会大量增加。
呵呵,希望指正!
[ 本帖最后由 myoasis 于 2008-6-11 17:00 编辑 ] |
|