Object oMessage;
// obtener la interfaz de datos para el nuevo mensaje
oMessage = oMessageSrv.getDataInterface(SBOCOMConstants.MessagesServiceDataInterfaces_msdiMessage); IMessage iMessage = new Message(oMessage);
Avalados por :
Hola,
Intento enviar un mensaje usando DI API, hago referencia a un ejemplo en SAP\SAP Business One SDK\Samples\COM DI\VB.NET\10.Messages Service pero al intentar ejecutarlo, obtengo el error java.lang.ClassCastException: com.sap.smb.sbo.wrapper.com.Dispatch no se puede convertir a com.sap.smb.sbo.api.IMessage
Aquí está mi código en Java:
IMessage oMessage = null;
IMessageDataColumns pMessageDataColumns = null;
IMessageDataColumn pMessageDataColumn = null;
IMessageDataLines oLines = null;
IMessageDataLine oLine = null;
IRecipientCollection oRecipientCollection = null;
try {
ICompanyService oCompany = company.getCompanyService();
IMessagesService oMsgServ = SBOCOMUtil.newMessagesService(oCompany);
// obtener la interfaz de datos para el nuevo mensaje
oMessage = (IMessage) oMsgServ.getDataInterface(SBOCOMConstants.MessagesServiceDataInterfaces_msdiMessage);
// completar asunto
oMessage.setSubject("Prueba");
oMessage.setText("Prueba de envío de mensaje");
// Agregar destinatario
oRecipientCollection = oMessage.getRecipientCollection();
oRecipientCollection.add();
// enviar mensaje interno
oRecipientCollection.item(0).setSendInternal(SBOCOMConstants.BoYesNoEnum_tYES);
// agregar nombre de usuario existente
oRecipientCollection.item(0).setUserCode("manager");
// obtener datos de columnas
pMessageDataColumns = oMessage.getMessageDataColumns();
// obtener columna
pMessageDataColumn = pMessageDataColumns.add();
// establecer nombre de columna
pMessageDataColumn.setColumnName("Número de Orden");
// establecer enlace a un objeto real en la aplicación pMessageDataColumn.setLink(SBOCOMConstants.BoYesNoEnum_tYES);
// obtener líneas
oLines = pMessageDataColumn.getMessageDataLines();
// agregar nueva línea
oLine = oLines.add();
// establecer el valor de la línea
oLine.setValue("155");
// establecer el enlace a BusinessPartner (el tipo de objeto para Bp es 2)
oLine.setObject("2");
// establecer el código de Bp
oLine.setObjectKey("DocEntry");
// enviar el mensaje
oMsgServ.sendMessage(oMessage);
} catch ( Exception e ) {
e.printStackTrace();
}
Object oMessage;
// obtener la interfaz de datos para el nuevo mensaje
oMessage = oMessageSrv.getDataInterface(SBOCOMConstants.MessagesServiceDataInterfaces_msdiMessage); IMessage iMessage = new Message(oMessage);
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute