ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:21.09KB ,
资源ID:3442892      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3442892.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SBOSPTransactionNotification.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SBOSPTransactionNotification.docx

1、SBOSPTransactionNotification使用sbo_sp_transactionnotification存储过程适用于:SAP Business One,SDK,sbo_sp_transactionnotification存储过程摘要本文介绍了如何使用sbo_sp_transactionnotification存储过程接收一个数据驱动的事件在SAP业务的通知。你也可以下载示例代码。作者(s):杰姆斯kofalt公司:SAP创建:3月2004最后更新:一月2007的SAP B1解决方案架构师目录适用于:. 1摘要. 1动机. 3详细的sbo_sp_transactionnotif

2、ication . 42007版的重要注意事项. . . . . . . 6将代码添加到存储过程. . . 7版权. 8动机合作伙伴经常问我是否有一种方式接收的数据驱动的事件在SAP业务的通知。换句话说,开发人员需要一种方法来触发事件在他们的应用程序的基础上发生在SAP Business One。在SAP Business One客户端应用程序中发生的事件,它是使用用户界面API简单(ui-api)来捕获事件并作出反应。然而,对于事件的客户端应用程序不涉及,例如当有人将文件通过数据接口API(di-api),另一种机制是必需的。接收的数据驱动的事件通知机制并在现有的B1部分代码调用的存储过程的

3、sbo_sp_transactionnotification定位。请注意:添加SQL触发器或存储过程在数据库级别是不允许的(参见SAP Business One解决方案添加上证明文件)此外触发器会自动删除在SAP Business One升级过程时,相应的表的修改。详细的sbo_sp_transactionnotification(事务通告)SAP Business One提供sbo_sp_transactionnotification存储驱动程序接收事件通知机制。此存储过程时触发操作的业务对象如文档或主记录在SAP业务进行。这不仅适用于通过DI API已经暴露的对象,但在应用包括用户定义的任

4、何对象的业务对象(UDO)。通过添加您自己的transact SQL代码,你可以将参数传递到您的应用程序和检索相应的对象从SAP Business One。该sbo_sp_transactionnotification存储过程在创建时自动创建一个新的公司在SAP Business One。这是从一些SAP Business One演示数据库丢失(例如美国的数据库演示),但你可以很容易地添加它使用SQL企业管理器或SQL查询分析器手动。初始建立时,它看起来像这样:CREATE proc SBO_SP_TransactionNotification object_type nvarchar(20)

5、, - SBO Object Type transaction_type nchar(1), - Add, Update, Delete, Cancel, CLose 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

6、 string to be displayed select error = 0 select error_message = NOk - - ADD YOUR CODE HERE - - Select the return values select error, error_message end GO有五个参数:Parameter Example objecttype 2 (Business Partner) Since version 2005 it returns a string representing the type of object used to be a numeri

7、cal value in previous versions. A full list of object types exposed through DI API can be found in the DI API documentation under the section Enumerations. The enumeration is called BoObjectTypes.从2005版本开始,它返回一个字符串对象以前使用的版本的数值类型。一个完整的对象类型列表通过DI API可以在API文档中找到二部分枚举下。枚举是称为BoObjectTypes。transaction_typ

8、e U (update) It may have values of: A (where a record was added) U (where a record was updated) D (where a record was deleted), C (where a document was canceled) L (where a document was closed) 它可能值:A(一个记录被添加)U(一个记录被更新)D(其中一个记录被删除),C(其中一个文件被取消)L(其中一个文件被关闭)num_of_cols_in_key 1Returns the number of co

9、lumns or fields in the key to the record. A Business Partner, for example, has a key consisting of a single field (CardCode), so this variable would have a value of 1. A Special Prices object, however, has a key consisting of the CardCode and ItemCode, so for a Special Prices object this variable wo

10、uld have a value of 2. 返回在关键领域的列或数量的记录。例如,有一个关键的业务合作伙伴,组成一个单一的领域,所以这个变量(cardcode)将有一个值“1”。一个特殊的价格目标,然而,有一个关键的组成的cardcode和itemcode,所以为了某一个特别的价格这一变量对象将有一个值“2”。list_of_key_cols_tab_del CardCode It returns a tab-delimited list of column names (field names) that represent the object key. For a Business P

11、artner, this would be CardCode. For a Special Prices object, it would be CardCode ItemCode. 它返回一个制表符分隔的列名称列表(字段名)表示的对象的关键。对于一个商业伙伴,这将是“cardcode”。一个特殊的价格目标,这将是“cardcode itemcode”。list_of_cols_val_tab_del C40001 This returns a tab-delimited list of values required to retrieve the object from Business

12、One. For example, a Business Partner record might have a value of C40001. A Special Prices object would contain 2 fields separated by a tab character. For example: V10005 . A00001 这是返回一个制表符分隔的要求从B1对象的值列表。例如,一个业务伙伴的记录可能有价值的“c40001”。一个特殊的价格对象将包含2域由制表符分隔的。例如:“v10005a00001”-2007版的重要注意事项随着SAP Business On

13、e 2007发布,企业将存储过程作为返回值返回参数”错误和“error_message等待sbo_sp_transactionnotification。如果没有这些价值回归,SAP Business One将考虑交易失败。如果你把代码在sbo_sp_transactionnotification,请确保你总是通过“选择”的错误,“error_message”结束时,尤其是在你想要的交易被视为成功的案例。-将代码添加到存储过程现在你已经熟悉sbo_sp_transactionnotification存储过程返回的值,让我们看一个使用示例代码。本文附带的示例包括一个简单的Visual Basic

14、6项目“displaysboinfo”。你应该使用REGSVR32.EXE来注册编译DLL,包含。displaysboinfo暴露一个单一的方法称为displaysboinfo。该方法以sbo_sp_transactionnotification作为参数提供的信息,写一个制表符分隔的文本文件里面。该sbo_sp_transactionnotification存储过程应包括以下transact SQL代码。添加下面的文本为存储过程的部分说,“在这里添加你的代码”:DECLARE object int -declare the object variable DECLARE hresult int

15、 -declare the hresult variable DECLARE retval float -declare the return variable EXEC hresult = sp_OACreate DisplaySBOInfo.Class1, object OUT EXEC hresult = sp_OAMethod object, DisplaySBOInfo, retval OUT, object_type, transaction_type, num_of_cols_in_key, list_of_key_cols_tab_del, list_of_cols_val_t

16、ab_del IF hresult 0 BEGIN EXEC sp_OAGetErrorInfo object RETURN END这创造了displaysboinfo.class1实例并调用displaysboinfo方法,参数传递给它,将被写入文本日志。当你添加你的代码存储过程,开拓业务,做一些改变。例如,添加一个生意伙伴,编辑一个报价,然后删除业务伙伴。当你完成后,打开log.txt,看看这些数据。在现实生活中的情况下,你会使用与di-api sbo_sp_transactionnotification提供检索有关记录,插入,删除,更多的信息,或改变。当你做这个练习举例,回到存储过程删除

17、或注释掉的代码,增加了。这将确保样品不继续运行。如果你愿意,你可以下载示例代码,本文介绍了。你也可以下载SAP Business One底事件服务样本实施底事件服务上运行现有的SAP Business One SDK接口。这个服务提供给SAP Business One迪API对象通过一个基于监听器接口相关的事件的通知。版权所有版权2006 SAP AG。保留所有权利。没有这本刊物的一部分可能会被复制或以任何形式或任何目的没有明确许可的SAP AG。此处包含的信息可能会在没有事先通知更改。一些软件产品和其分销商所销售的含有其它软件供应商的专有软件成分。微软,Windows,观,和PowerPoi

18、nt是微软公司的注册商标。IBM,DB2,DB2通用数据库,OS / 2,并行系统综合体,MVS / ESA,AIX,S / 390,为400,OS / 390,OS / 400,系列,系列,系列服务器,zseries,z / OS操作系统,AFP,Intelligent Miner,WebSphere,Netfinity,蒂沃丽花园,Informix,i5 /操作系统,电力,POWER5,openpower和PowerPC是IBM公司的商标或注册商标。Adobe,Adobe标志,杂技演员,后记,和读者的商标或Adobe系统公司在美国和/或其他国家的注册商标。Oracle是甲骨文公司的注册商标

19、。UNIX,XOpen,OSF / 1,和主题是开放集团的注册商标。Citrix MetaFrame,ICA,程序,邻里,WinFrame,videoframe,和多赢的商标或注册商标的Citrix Systems,Inc.HTML,XML,XHTML和W3C的是W3C的商标或注册商标,万维网联盟,麻省理工学院。Java是Sun公司的注册商标,JavaScript是一个注册商标的Sun微系统公司,公司,许可使用的技术发明和实施的网景。MaxDB商标是MySQL AB,瑞典。SAP R / 3,SAP,mySAP.com,xapps,XAPP,SAP NetWeaver,和其它SAP产品和服务,

20、这里提到的以及他们各自的标志的商标或SAP AG在德国和世界其它一些国家注册商标。所有其他产品和服务名称是其各自公司的商标。此文档中的数据只用于查询信息。国家的产品规格可能会有所不同。这些材料如有更改,恕不另行通知。这些材料是由SAP AG和其关联公司提供(“SAP组”)仅供参考,没有任何陈述或保证,和SAP组不得的错误或遗漏承担责任方面的材料。SAP组产品与服务的唯一担保是指在附带的保修声明这些产品和服务的规定,如果任何。此处的任何内容都不应被视为构成额外的保修。这些材料提供的“原样”无任何形式的保证,明示或暗示的保证,包括但不限于,默示保证适销性,适合特定用途或非侵权。SAP不应承担赔偿责

21、任的任何一种,包括但不限于直接的,间接的,特殊的,或间接的损害赔偿,可能是由于这些材料的使用。SAP不保证的准确性或完整性的信息,文本,图形,在这些材料中包含的链接或其它项目。SAP已经无法控制的信息,你可以通过在这些材料中的热链接的使用和不支持您使用第三方网站也不提供任何保证,凡涉及第三方网页。任何软件编码和/或代码行/字符串(“代码”)包含在这个文件只是例子,不拟用于在一个生产系统环境。该代码是唯一的目的,更好地解释和可视化的语法和措辞一定的编码规则。SAP不保证正确性和完整性的代码,这里给出的,和SAP不得错误或损坏代码的使用而引起的责任,除非这种损失的故意或疏忽造成的SAP。-if o

22、bject_type = 15-销售交货BEGIN IF transaction_type = U or transaction_type = A BEGIN SET DocEntry = CAST(list_of_cols_val_tab_del AS int) SET iCountA = (SELECT COUNT(*) FROM DLN1 WHERE Price 0 BEGIN set error = -5012 set error_message = N做不了啊做不了 END ENDEND-declare i int declare Date datetime declare iCou

23、ntB int declare F_RefDate datetime -过账日期开始时间declare T_RefDate datetime -过账日期结束时间declare Status nvarchar -过账期间状态if object_type = 15 -销售交货or object_type = 17 -销售订单or object_type = 13 -应收发票or object_type = 16 -销售退货BEGIN IF transaction_type = U or transaction_type = A -更新单据 BEGIN SET iCountB = (select count(*) from OFPR) SET Date = getdate() -获取系统当前时间 SET i = 1 WHILE i = F_RefDate and Date F_RefDate and Date T_RefDate) if Status != N BEGIN set error = -5013 set error_message = N期间未解锁,不能更新 END ENDEND-

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1