日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SBO中流程控制功能的实现-SBO_SP_TransactionNotification

發布時間:2025/3/19 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SBO中流程控制功能的实现-SBO_SP_TransactionNotification 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
大家打開sqlserver的查詢分析器,打開SBO的一個公司數據庫,查找一個存儲過程:SBO_SP_TransactionNotification?<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

它就是讓我們得以控制SBO的魅力所在!

ALTER??proc?SBO_SP_TransactionNotification?

@object_type?nvarchar(25),?????????????????????????????????--?SBO?Object?Type

@transaction_type?nchar(1),????????????????????????--?[A]dd,?pdate,?[D]elete,?[C]ancel,?C[L]ose

@num_of_cols_in_key?int,

@list_of_key_cols_tab_del?nvarchar(255),

@list_of_cols_val_tab_del?nvarchar(255)

AS

begin

--?Return?values

declare?@error??int????????????????????????????????--?Result?(0?for?no?error)

declare?@error_message?nvarchar?(200)?????????????????--?Error?string?to?be?displayed

select?@error?=?0

select?@error_message?=?N'Ok'

--------------------------------------------------------------------------------------------------------------------------------

--????????ADD????????YOUR????????CODE????????HERE

--------------------------------------------------------------------------------------------------------------------------------

--?Select?the?return?values

select?@error,?@error_message

end

這個存儲過程的作用就是任何一個SBO對象操作完程前都會調用它一次。以便我們加入我們的邏輯控制來實現一些客戶的特殊要求。

我們來看一下他的參數:

第一個參數:@object_type?是SBO對象的編號。如何獲得這個編號呢?進入SBO系統,單擊“視圖”-》“系統信息”,然后“主菜單”-》“模塊”-》打開你想用的模塊,例如“收貨采購訂單”,等等。以“收貨采購訂單”為例,將鼠標放到供應商的輸入框,從SBO消息欄里獲取信息“Form=143,Item=4,Variable=1,OPDN,CardCode”,其中OPDN就是主表,啟動查詢分析器,在查詢里輸入"select?ObjType from OPDN",得到的值就是@object_type,本例中是20,至此得到SBO對象的編號。?每一個對象執行Add,?pdate,?[D]elete,?[C]ancel,?C[L]ose操作時都會把操作的對象編號在這個參數中傳入,我們只要判斷該參數即可實現對不同的對象的不同的控制。我后邊會給大家提供一些練習。

第二個參數:@transaction_type?nchar(1),????????????????????????--?[A]dd,?pdate,?[D]elete,?[C]ancel,?C[L]ose

當在SBO系統中執行了添加操作,例如添加了一個物料主數據,@object_type的值就等于4,@transaction_type的值就等于'A'?。

第三個參數:@num_of_cols_in_key,對象關鍵字段的數目。例如物料主數據的關鍵字段是物料編碼,他只有一個關鍵字,所以該值等于1。

第四個參數:@list_of_key_cols_tab_del??代表該對象的關鍵字段的字段名字,例如物料主數據就是Itemcode,單據就是Docentry.

第五個參數:@list_of_key_cols_tab_del??代表關鍵字段的值。這時已非常重要的參數。我再次說明一點,經過我測試,SBO的對象再添加修改時會現在數據庫里操作完成,然后調用該存儲過程。所以我們就靠這個字段來作為驗證控制我們的邏輯的入口之一了。

???在以上介紹的五個參數之中,最重要的就是@object_type,@transaction_type,@list_of_cols_val_tab_del這三個參數。大家一定要明白他們的含義!

內部的兩個重要控制參數:

@error?,好了,揭示了這么多,就數他最重要了。計算機世界的0和1就讓他體現的淋漓盡致了。當我么給它賦值為零的時候,SBO的流程繼續運行。一旦我們給他賦值為1,好了,效果出現了,你在sbo中操作的對象就再也不能完成它的操作了!牛!就是這個牛的地方可以讓我們收拾SBO任何的對象,可以按客戶的心花讓SBO盡情的怒放。

當然我們經過我們自己的邏輯,把?@error?=1,不然SBO按自己的邏輯繼續下去了,總也得在SBO中給出個提示把,就像B1的狀態欄的提示一樣,那您就要動用@error_message這個參數了。200個字符盡情地表述您的一肚子邏輯的解釋吧,幽默也好,冷冰冰也罷!

轉載于:https://blog.51cto.com/wubing/90270

總結

以上是生活随笔為你收集整理的SBO中流程控制功能的实现-SBO_SP_TransactionNotification的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。