点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好,这是我在这里的第一篇文章。
我需要使用Java DI API创建并添加一揽子协议。
我可以使用以下代码更新现有的一揽子协议:
com.sap.smb.sbo.api.BlanketAgreementsService BAService =(com.sap.smb.sbo.api.BlanketAgreementsService)com.sap.smb.sbo.api.SBOCOMUtil.newBlanketAgreementsService(company.getCompanyService()); BlanketAgreementsParams BAParams =(BlanketAgreementsParams)BAService.getBlanketAgreementList(); BlanketAgreementParams BAParam =(BlanketAgreementParams)BAParams.add(); //假设我要更新一揽子协议编号350 BAParam.setAgreementNo(350); IBlanketAgreement BA; BA =(IBlanketAgreement)BAService.getBlanketAgreement(BAParam); //范例 BA.setBPCode(myBP.getBPCode()); BA.setDescription(myBP.getDescription()); //... BAService.updateBlanketAgreement(BA);
但是我现在真正想做的是添加一个新的一揽子协议。
我找不到用于执行此操作的任何Java示例,并且无法成功声明新的Blanket Agreement对象。
我尝试了很多事情,例如以下代码:
com.sap.smb.sbo.api.BlanketAgreementsService BAService =(com.sap.smb.sbo.api.BlanketAgreementsService)com.sap.smb.sbo.api.SBOCOMUtil.newBlanketAgreementsService(company.getCompanyService()); BlanketAgreementsParams BAParams =(BlanketAgreementsParams)BAService.getBlanketAgreementList(); BlanketAgreementParams BAParam =(BlanketAgreementParams)BAParams.add(); IBlanketAgreement BA; BA =(IBlanketAgreement)myBPSInicio.getDataInterface(SBOCOMConstants.BlanketAgreementsServiceDataInterfaces_basBlanketAgreement); //我还尝试了BA =(com.sap.smb.sbo.api.BlanketAgreement)myBPSInicio.getDataInterface(SBOCOMConstants.BlanketAgreementsServiceDataInterfaces_basBlanketAgreement);
使用此代码,我得到一个例外:
java.lang.ClassCastException:com.sap.smb.sbo.wrapper.com.Dispatch无法转换为com.sap.smb.sbo.api.BlanketAgreement
有人可以教我如何使用DI API和Java声明和添加新的Blanket Agreement对象吗?
谢谢!
你好!
除了ProfitCenters以外,我几个月都遇到了相同的问题-您应该首先将myBPSInicio.getDataInterface初始化为对象,并且在初始化BA变量时,也应像这样在BlanketAgreement之前保留" I":
我没有尝试过您的代码,但这是我的工作Java代码,用于使用相同的SAP Service(例如BlanketAgreementService)添加/更新利润中心:
一周热门 更多>