Hola chicos,
Acabo de usar Java para acceder a los datos de SAP B1 y me encontré con un problema, no tengo idea.
He importado datos a SAP B1 desde un archivo y exportado los datos de SAP a un archivo, solo en el módulo de socios comerciales,
está bien.
También puedo exportar datos de ORDR de la base de datos de SAP B1 a un archivo.
Pero no puedo importar datos externos sobre el módulo de pedidos, solo la tabla ORDR.
He buscado en la WEB durante 2 días, ¡y no encuentro nada!
Agradeceré mucho su gran ayuda. ¿Podrían darme un ejemplo, debería ser perfecto?
REGISTRO DE ERRORES sobre la operación de actualización:
!!!Error***-Se ha encontrado una excepción COM:
En Invocar: Actualizar
Descripción: El servidor lanzó una excepción.
com.sap.smb.sbo.wrapper.com.ComFailException: Se ha encontrado una excepción COM:
En Invocar: Actualizar
Descripción: El servidor lanzó una excepción.
en com.sap.smb.sbo.wrapper.com.Dispatch.invokev(Método nativo)
en com.sap.smb.sbo.wrapper.com.Dispatch.invokev(Fuente desconocida)
en com.sap.smb.sbo.wrapper.com.Dispatch.callN(Fuente desconocida)
en com.sap.smb.sbo.wrapper.com.Dispatch.call(Fuente desconocida)
==========================================================
EL REGISTRO DE ERRORES sobre la operación de adición es similar:
!!!Error***-Se ha encontrado una excepción COM:
En Invocar: Agregar
Descripción: El servidor lanzó una excepción.
com.sap.smb.sbo.wrapper.com.ComFailException: Se ha encontrado una excepción COM:
En Invocar: Agregar
Descripción: El servidor lanzó una excepción.
......
=================================================================
Lo siguiente es solo un poco de código.
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ICompany vCompany = SapSdkHelper.getICompany();
vCompany.connect();
IDocuments aOrder = SBOCOMUtil.newDocuments(vCompany,
SBOCOMConstants.BoObjectTypes_Document_oOrders);
IDocument_Lines line = aOrder.getLines();//line debería ser los datos en la tabla rdr1
int successCount = 0;
for (String[] rowData : dataList) {
Integer key = new Integer(rowData[0]);
if (aOrder.getByKey(key)) {
aOrder.setAddress(aOrder.getAddress()+"prueba");
int rr = aOrder.update();
SBOErrorMessage errMsg = vCompany.getLastError();
System.out.println(errMsg.getErrorMessage());
System.out.println(rr);
continue;
}
aOrder.setDocNum(key);
...
aOrder.setCardCode(rowData[2]);
aOrder.setCardName(rowData[3]);
aOrder.setDocTotal(Double.valueOf(rowData[4]));
aOrder.setDocType(SBOCOMConstants.BoDocumentTypes_dDocument_Items);
//aOrder.setDocCurrency("RMB");
//aOrder.setDocRate(10.1);
line.setItemCode("A00001");
line.setItemDescription("Descripción de prueba");
line.setQuantity(new Double(3));
line.setPrice(new Double(3));
//line.setRate(10.1);
//line.setCurrency("RMB");
//line.add();
long rc = aOrder.add();
SBOErrorMessage errMsg = vCompany.getLastError();
System.out.println(errMsg.getErrorMessage());
System.out.println(rc);
successCount++;
}
vCompany.disconnect();