如果是外部事务,则需要传递ADO.Connection对象,并将IsIndependenceTransaction设置为true:envContext.BizDbConnection=newADO.Connection();envContext.IsIndependenceTransaction=true;3.设置API地址标识(Url)参数//如当前API“新增或修改”的地址标识为:U8API/SaleOrder/SaveU8ApiAddressmyApiAddress=newU8ApiAddress(\4.构造APIBrokerU8ApiBrokerbroker=newU8ApiBroker(myApiAddress,envContext);5.API对象参数赋值1)给BO表头参数DomHead和表体参数domBody赋值有两种方法,如下:方法一是直接传入MSXML2.DOMDocumentClass对象,代码如下MSXML2.DOMDocumentClassdomHead=newMSXML2.DOMDocumentClass();domHead.load(\);broker.AssignNormalValue(\,domHead);方法二是构造BusinessObject对象,具体方法如下://首先通过GetBoParam方法获取表头表体参数BusinessObjectDomHead=broker.GetBoParam(\DomHead.RowCount=10;//设置行数//其中,给BO对象的字段赋值,值可以是真实类型,也可以是无类型字符串//以下代码示例只设置第一行值。各字段定义详见API服务接口定义注意:设置行数为某个值,行数并不限定为该最大值,可以一直顺序添加至任意行,但有一个规则:例如当设置为10时,可以对第0、1、……9行赋值,当对第10行赋值时候,则会顺序添加一个新行,但此时是不能对第11行赋值的,当添加一个新行(第10行)后,又可以对第11行进行赋值。/******************************以下是必输字段****************************/domHead[0][\=\//主关键字段,int类型domHead[0][\=\//订单号,string类型domHead[0][\=\//订单日期,DateTime类型domHead[0][\=\//业务类型,string类型……/*****************************以下是非必输字段****************************/domHead[0][\=\//现存件数,double类型domHead[0][\=\//可用件数,double类型domHead[0][\=\//预发货日期,DateTime类型domHead[0][\=\//预完工日期,DateTime类型domHead[0][\=\//预发货日期,DateTime类型……2)给普通参数赋值例如,//给普通参数VoucherState(参数名)赋值。此参数的数据类型为int,此参数按值传递,具体请参考服务接口定义broker.AssignNormalValue(\newint());注意:所有参数名不限大小写。3)给“OUT型”参数赋值为方便用户使用U8API,如果参数数据类型为一般值类型,如String、Integer、Long、Single、Double、Boolean、Date,则不必传入一个参数变量(传入也可);否则,则必须一个参数变量。如:……//该参数curID为OUT型参数,由于其数据类型为string,为一般值类型,因此不必传入一个参数变量。在API调用返回时,可以通过GetResult(\//该参数CurDom为OUT型参数,由于其数据类型为MSXML2.IXMLDOMDocument2,非一般值类型,因此必须传入一个参数变量。在API调用返回时,可以直接使用该参数MSXML2.IXMLDOMDocument2CurDom=newMSXML2.IXMLDOMDocument2();broker.AssignNormalValue(\CurDom);……当不传入一个参数变量时,在API调用返回时,可以通过GetResult(参数名)获取其值;当不必传入一个参数变量时,在API调用返回时,可以直接引用该参数。4)给“INOUT型”参数赋值对“INOUT型”型参数,则不论是否是一般值类型,都需要传入参数变量。其他与“OUT型”参数一样。6.调用API//示例调用如下:if(!broker.Invoke()){//错误处理ExceptionapiEx=broker.GetException();if(apiEx!=null){if(apiExisMomSysException){MomSysExceptionsysEx=apiExasMomSysException;Console.WriteLine(\+sysEx.Message);//todo:异常处理}elseif(apiExisMomBizException){MomBizExceptionbizEx=apiExasMomBizException;Console.WriteLine(\+bizEx.Message);//todo:异常处理}}//结束本次调用,释放API资源broker.Release();return;}注意:对调用失败,可以获取出错信息,如果是API框架的原因,则报告MomSysException异常,如果是业务组件的原因,则报告MomBizException异常。7.获取返回结果1)获取BO对象在“装载单据”时,通过GetBoParam方法获取表头或表体参数BusinessObjectDomHeadRet=broker.GetBoParam(\Console.WriteLine(\+DomHeadRet.RowCount);//获取BO对象的行数注意:如果要取原始的XMLDOM对象结果,请使用GetResult(\asMSXML2.DOMDocumentMSXML2.DOMDocumentDomHeadRet=broker.GetResult(\asMSXML2.DOMDocument;以上获取的行数是BO对象的实际行数。//获取BO对象各字段的值。以下代码示例只取第一行。字段定义详见API服务接口定义/******************************以下是必输字段****************************/intid=Convert.ToInt32(domHeadRet[0][\//主关键字段,int类型stringccode=Convert.ToString(domHeadRet[0][\//单据号,string类型DateTimeddate=Convert.ToDateTime(domHeadRet[0][\//日期,DateTime类型stringcbustype=Convert.ToString(domHeadRet[0][\//业务类型,string类型……/*****************************以下是非必输字段****************************/stringcpayname=Convert.ToString(domHeadRet[0][\//付款条件,string类型stringcpersonname=Convert.ToString(domHeadRet[0][\//业务员,string类型doubleitaxrate=Convert.ToDouble(domHeadRet[0][\//税率,double类型stringcexch_name=Convert.ToString(domHeadRet[0][\//币种,string类型……2)获取普通返回值代码如下://获取普通返回值。此返回值数据类型为System.String,此参数按值传递,具体请参考服务接口定义System.Stringresult=broker.GetReturnValue()asSystem.String;3)获取普通“OUT型”或“INOUT型”返回值如前所述,对普通“OUT型”或“INOUT型”参数,如果是一般值类型,则通过GetResult方法获取其返回值,否则直接使用该引用。如,//获取普通OUT参数curID。此返回值数据类型为string,在使用该参数之前,请判断是否为空stringcurIDRet=broker.GetResult(\asstring;//获取普通OUT参数CurDom。此返回值数据类型为MSXML2.IXMLDOMDocument2,前面已定义该参数,请直接使用……2.2.3库存管理
?功能介绍
为了支持U8二次开发对业务单据的开发,本功能提供了实现库存业务单据各种操作功能的编程接口。使用库存管理的API开发接口,可以对库存管理中的采购入库单、其他入库单、其他出库单、产成品入库单、材料出库单、调拨单、组装单、拆卸单、形态转换单、盘点单、货位调整单、销售出库单、期初结存、不合格品记录单、不合格品处理单、期初不合格品、调拨申请单等单据进行审核、弃审、获取(或装载)、新增、修改、删除。?使用环境
必须安装.NETFrameWork2.0;必须安装U8-872版本的库存管理产品;必须安装API适配器组件STAPIConcrete.dll?接口说明
库存管理二次开发接口说明:?审核单据-Audit方法参数:sVoucherType——VoucherId——errMsg——cnnFrom——TimeStamp——domMsg——bCheck——bBeforCheckStock——bList——MakeWheres——sWebXml——oGenVouchIds——单据类型:01单据ID错误信息连接对象(调用方控制事务时需要传入连接对象)单据时间戳(用于检查单据是否修改,空串时不检查)返回DOM格式的信息:主要是可用量信息是否进行业务检查(是否控制可用量)是否检查可用量传入false传空传入空串获取单据ID列表(返回审核时自动生成的单据的id列表,传空)?弃审单据-CancelAudit方法参数:sVoucherType——单据类型:01VoucherId——单据IDerrMsg——错误信息
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库3U8API开发手册(C#版)1 - 图文(5)在线全文阅读。
相关推荐: