畅享博客 > 畅享ing > [原创]畅享SBO
2008-9-7 16:26:53

[原创]畅享SBO

     研究SAP Business One也已经有三个多月了,从最开始的懵懂,一步一步熟悉SBO的开发接口(User Interface, Data Interface,User Defined Object),使用“屏蔽绘制器”,“Xl Report”等一些官方Addon,到进行Addon的开发,到Addon的部署,学到了很多东西,也积累了一些经验。

     下面来具体介绍一下SBO开发初学者必须要捅破的一层窗户纸:SSO(Single Sign On),主要分为以下四步:

     一,SetApplication()

private void SetApplication ()
 {  
      SAPbouiCOM.SboGuiApi SboGuiApi;
      string sConnectionString;
      SboGuiApi = new SAPbouiCOM.SboGuiApi();
       sConnectionString = System.Convert.ToString(Environment.GetCommandLineArgs().GetValue(1));
      SboGuiApi.Connect(sConnectionString);
      SBO_Application = SboGuiApi.GetApplication(-1);

              //CatchingEvents
      SBO_Application.MenuEvent += new SAPbouiCOM._IApplicationEvents_MenuEventEventHandler  ( SBO_Application_MenuEvent );
      SBO_Application.AppEvent += new SAPbouiCOM._IApplicationEvents_AppEventEventHandler(SBO_Application_AppEvent);
      SBO_Application.ItemEvent += new SAPbouiCOM._IApplicationEvents_ItemEventEventHandler( SBO_Application_ItemEvent ); 
 }

     二,SetAddonContext();

  private int  SetAddonContext()
        {
            int returnValue;

            string sCookie;
            string sConnectionContext;


            oCompany = new SAPbobsCOM.Company();

            sCookie = oCompany.GetContextCookie();
            sConnectionContext = SBO_Application.Company.GetConnectionContext(sCookie);

            if (oCompany.Connected == true)
            {
                oCompany.Disconnect();
            }

            returnValue = oCompany.SetSboLoginContext(sConnectionContext);

            return returnValue;
        }
 

     三,ConnectToCompany();

private int ConnectToCompany()
  {
            int returnValue;

   if (oCompany.Connected == true)
   {
    oCompany.Disconnect();
   }

            returnValue = oCompany.Connect();

            return returnValue;
   
  }

     四,实现SSO。

    以上为整个SSO的过程,整个过程也是初学者常有的困惑。


推荐到鲜果: 查阅更多相关主题的帖子: SBO

评论

您正在以 匿名用户 的身份发表评论  快速登录
(不得超过 50 个汉字)
       看不清,换一个
提示消息
(输入完内容可以直接按Ctrl+Enter提交)