为什么无法将IInfoStore对象转换为IDestinationPlugin?

2020-09-15 11:43发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我使用的是BO 4....

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我使用的是BO 4.0,并且想使用.copyToPlugin(),但是Cast无法正常工作。

我的代码是:

第1行)IDestinationPlugin destPlugin =(IDestinationPlugin)boInfoStore.query("从ci_parentId = 29和si_name ='CrystalEnterprise.SMTP'"的ci_systemobjects中选择*); 第2行)boDestination.copyToPlugin(destPlugin);


发生以下异常:

com.crystaldecisions.sdk.occa.infostore.internal.InfoObject无法转换为com.crystaldecisions.sdk.occa.infostore.IDestinationPlugin

是否可以修复它?

先谢谢您

拉法

7条回答
悻福寶寶
2020-09-15 12:11

https://help.sap.com/viewer/0225aa3e7b4b4b17b2d4a882e6f2de96/4.2.6/zh-CN/45a65d446e041014910aba7db0e91070.html

将目标设置为SMTP

此示例指定将计划对象通过电子邮件发送到两个地址,这些地址通过名为servername.domain的SMTP服务器进行中继,该服务器正在端口25进行侦听

 void setDestinationToSMTP(IEnterpriseSession enterpriseSession,IInfoObject报告)抛出SDKException,IOException
 {
   IInfoStore infostore =(IInfoStore)enterpriseSession.getService(" InfoStore");
   ISchedulingInfo scheduleInfo = report.getSchedulingInfo();
    
   IInfoObjects smtpInfoObjects = infostore.query("从CI_SYSTEMOBJECTS选择SI_DEST_SCHEDULEOPTIONS,SI_PROGID,其中SI_NAME ='CrystalEnterprise.Smtp'");
   IInfoObject infoObject =(IInfoObject)smtpInfoObjects.get(0);
        
   IDestinationPlugin destinationPlugin =(IDestinationPlugin)infoObject;
   ISMTP smtp =(ISMTP)destinationPlugin;
       
   ISMTPOptions smtpOptions =(ISMTPOptions)smtp.getScheduleOptions();
   smtpOptions.setDomainName(" domain");
   smtpOptions.setServerName(" servername");
   smtpOptions.setPort(Integer.parseInt(" 25"));
   smtpOptions.setSMTPAuthenticationType(ISMTPOptions.CeSMTPAuthentication.LOGIN);
   smtpOptions.setSMTPUserName(" username");
   smtpOptions.setSMTPPassword(" password");
   smtpOptions.setSubject("电子邮件主题");
   smtpOptions.setMessage("这是电子邮件。");
        
   列出toAddresses = smtpOptions.getToAddresses();
   toAddresses.add(" user1@emaildomain.com");
   toAddresses.add(" user2@emaildomain.com");
        
   IDestination目标= scheduleInfo.getDestinations()。add(" CrystalEnterprise.Smtp");
   destination.setFromPlugin(destinationPlugin);
 }
 

一周热门 更多>