BP调用时,如果BPAgetn的返回的oChannel为空时

        protected override object InvokeImplement<T>(T oChannel)
        {
            IContext context = ContextManager.Context;            

            IGetBillSrcBusinessType channel = oChannel as IGetBillSrcBusinessType;
            if (channel != null)
            {
                return channel.Do(context, out returnMsgs, docNo, aPOrAR);
            }
            return  null;
        }

先确定BP脚本已经执行,如果还是为null,那就是BP没有通过组装工具发布造成的。

也可以用以下脚本把BP发布到数据库

 

declare @Component nvarchar(50)
--设置组件名称
set @Component='xxx.dll'

declare @Application int
--设置组件所在模块
set @Application=3001

DELETE FROM UBF_Assemble_AppComponents WHERE Component = @Component;
declare    @SNIndex bigint
if object_id('InnerAllocSerials'is null
    exec    [dbo].[AllocSerials]
            @AllocCount = 1,
            @StartSN = @SNIndex output

else
    exec    [dbo].[InnerAllocSerials]
            @AllocCount = 1,
            @StartSN = @SNIndex output

INSERT INTO  UBF_Assemble_AppComponents (ID,CreatedOn,CreatedBy,ModifiedOn,ModifiedBy,SysVersion,Component,ComponentID,ComponentType,Application)
values(@SNIndex,GETDATE(),'ufsoft',GETDATE(),'ufsoft',0,@Component'a91a413b-e43a-432d-84b2-c601af8d1c89','BP',@Application)

 

posted on 2012-03-27 16:31  山寨程序员  阅读(250)  评论(0编辑  收藏  举报