详解基于Sbo DI API独立程序系统登录的实现

简介:
几个朋友在Sbo开发讨论群中都说,因为前段时间咱们的例子演示,基于Sbo UI API的Add-on插件的开发基本熟悉了,也掌握了实现Sbo Add-on插件同Sbo主程序之间单点认证的方法;但是他们在开发基于Sbo DI API的独立程序开发中,总是出现无法登录到指定的企业数据库,本文用以对此进行说明。
基于DI API的独立程序开发,就是不再将新开发的业务功能作为插件的形式集成到Sbo主程序中,而是独立的程序一个应用程序、业务中间件或者一个业务处理控件。因为基于DI API,所以使用Sbo DI API来进行相关的业务处理是应该推荐的,那么,这些程序应该遵循Sbo DI API的开发接口规范,而不应该直接简单的连接到Sbo的企业数据库。是的,这样就能够实现我们自己的独立程序同Sbo主程序之间的业务互通和业务兼容。
使用DI API进行Sbo业务处理,通过DI API登录到Sbo业务数据库是第一步,Sbo通过SAPbobsCOM.Company业务对象(本文用oCompany指Company业务对象)进行业务数据库登录验证的。那么使用DI API开发时登录到业务数据库需要注意哪些问题呢?我们先分析一个Sbo的结构。
1、Sbo作为一个轻型的企业信息管理软件,建立在数据库SQL Server之上,要处理基于数据库的的业务信息,首先需要登录到SQL Server数据库,Sbo DI API在登录的时候,需要提供SQL Server数据库的登录参数。
  • 登录SQL Server数据库可是使用两种方法,一种是信任连接方式,只要连接客户端同SQL Server数据库在同一个域内,并且具有登录到SQL Server服务器的权力,那么只需要指定这台服务器的地址就可以连接到这台服务器上的SQL Server数据库。对应oCompany需要进行以下设置:
    • oCompany.Server = strServer
    • oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL
    • oCompany.UseTrusted = True
  • 登录SQL Server数据库的第二种方法是通过数据库的用户和密码进行数据库校验的方式。显然这种方式在登录的时候需要指定数据库服务器的地址,使用的是非信任模式,并且需要指定登录数据库的帐号和密码。如下所示:
    • oCompany.Server = strServer
    • oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL
    • oCompany.UseTrusted = False
    • oCompany.DbUserName = strDBUserID
    • oCompany.DbPassword = strDBUserPWD
需要注意,这个时候如果还指定了采用信任模式登录,登录程序就会忽略指定的登录数据库的帐号和密码而采用信任模式,如果信任模式的登录环境--比如现行客户端不是域用户等--不满足,登录就会失败。
2、设置了登录数据库的参数,还要保障是被授权的用户才能够访问Sbo业务数据库。Sbo的被授权用户的含义包括两部分,一部分是当前的Sbo应用平台是经过了SAP公司的授权许可的正版用户,另一部分就是登录者应该是业务平台中的经过管理员许可的操作用户。前者保障了Sbo用户的合法性正当性,后者保证了操作员的合法性正当性。oCompany负责在登录的时候对此进行验证。
Sbo用户合法性验证主要通过Sbo许可验证服务器来进行,被授权的Sbo用户SAP都会发送一个注册许可,运行在Sbo许可验证服务器上。所以oCompany需要查询许可服务器,当前用户是否属于正版用户。如下:
  • oCompany.LicenseServer = strLicSever
需要注意的是,许可验证服务器通过TCP/IP协议接受登录用户的查询,所以需要在此指定许可验证服务器的地址和端口,如: oCompany.LicenseServer = "192.168.1.128:30000"
3、指定了许可验证服务器,还需要指定操作员的登录用户和登录密码。相关语句如下:
  •  oCompany.UserName = strOperatorId
  • oCompany.Password = strOperatorPWD
4、Sbo支持多个独立公司的业务处理(同集团下的多个独立核算经营的子公司,使用同一套Sbo进行管理,分别对应不同的Sbo业务数据库,在SQL Server中对应着一个独立的数据库文件)和多语言支持,在登录的时候业务要指定:
  • oCompany.CompanyDB = strDataBaseName
  • oCompany.language = SAPbobsCOM.BoSuppLangs.ln_Chinese
5、上面的登录参数指定了,通过以下语句进行登录:
  • oCompany.Connect
登录函数会返回一个登录状态代码,用于指定是否成功登录,如果登录失败,原因是什么。应用软件应该对此予以处理。


本文转自foresun  51CTO博客,原文链接:http://blog.51cto.com/foresun/43627,如需转载请自行联系原作者
相关文章
|
数据采集 机器学习/深度学习 搜索推荐
利用通义大模型构建个性化推荐系统——从数据预处理到实时API部署
本文详细介绍了基于通义大模型构建个性化推荐系统的全流程,涵盖数据预处理、模型微调、实时部署及效果优化。通过采用Qwen-72B结合LoRA技术,实现电商场景下CTR提升58%,GMV增长12.7%。文章分析了特征工程、多任务学习和性能调优的关键步骤,并探讨内存优化与蒸馏实践。最后总结了大模型在推荐系统中的适用场景与局限性,提出未来向MoE架构和因果推断方向演进的建议。
1855 11
|
JSON 搜索推荐 算法
利用API提升电商用户体验:个性化推荐系统
在电商竞争激烈的当下,个性化推荐系统成为提升用户粘性与转化率的关键。本文详解如何通过API集成高效接入先进推荐算法,实现实时精准推荐,优化用户体验,提升业务增长。
|
11月前
|
算法 API 数据库
生鲜电商技术实践:基于保质期API的自动下架系统保障食品安全
基于保质期提醒API与自动化工作流,实现生鲜商品临期智能预警与自动下架。通过设定差异化预警阈值(如蔬菜2天、冷冻品7天),每日扫描数据库并触发下架指令,确保食品安全合规,降低损耗与客诉,提升运营效率。
|
12月前
|
机器学习/深度学习 人工智能 供应链
淘宝API智能补货系统:库存周转率提升50%的奥秘
在电商竞争激烈的当下,库存管理效率决定企业成败。淘宝API智能补货系统融合人工智能与淘宝开放接口,实现库存自动化管理,大幅提升库存周转率,降低运营成本,助力企业实现高效、智能、精益的供应链管理。
|
存储 人工智能 Java
Spring AI与DeepSeek实战四:系统API调用
在AI应用开发中,工具调用是增强大模型能力的核心技术,通过让模型与外部API或工具交互,可实现实时信息检索(如天气查询、新闻获取)、系统操作(如创建任务、发送邮件)等功能;本文结合Spring AI与大模型,演示如何通过Tool Calling实现系统API调用,同时处理多轮对话中的会话记忆。
2996 57
|
12月前
|
监控 安全 API
京东 API 接口:打造高效京东店铺订单处理系统
在电商竞争激烈的环境下,京东店铺需提升订单处理效率以优化用户体验与收益。本文介绍如何利用京东开放平台的API接口,构建高效订单处理系统,涵盖订单查询、库存同步、物流跟踪等功能,助力商家实现自动化管理,显著提升运营效率与客户满意度。
|
机器学习/深度学习 JSON 监控
拼多多API库存预警系统:避免缺货损失千万!
在电商运营中,缺货可能导致订单流失与经济损失,拼多多推出的API库存预警系统可实时监控库存,及时预警,降低缺货风险。系统支持多语言集成,商家可快速构建自动化监控与补货流程,提升供应链效率,保障销售连续性。
|
缓存 算法 API
从 0 实现 API 接口签名验证系统:基于 HMAC-SHA256 的防篡改方案(附 Python 全代码)
本文介绍基于 的 API 接口签名验证系统,实现防篡改与防重放攻击,包含完整设计原理、签名生成规则及可运行的 Python 客户端与服务端代码,并提供安全性优化与部署建议。
|
人工智能 供应链 物联网
效率提升300%:开放银行API驱动电商分账系统的“零代码”革命
在数字经济背景下,开放银行API与电商生态深度融合,推动支付清算与分账系统从封闭走向开放。通过技术解耦与系统重构,实现资金流、信息流与业务流的高效协同,提升支付效率与分账灵活性,助力电商场景创新。本文从技术驱动力、重构路径、实践案例与未来趋势四方面,解析这一变革的核心逻辑与落地价值。